vs6262
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору import com.sun.jdi.connect.Connector; import javax.swing.*; import javax.swing.border.Border; import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.basic.BasicScrollBarUI; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; import javax.swing.text.DefaultCaret; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowEvent; import java.util.function.*; import java.util.*; import java.awt.Color; import java.awt.Container; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Insets; import java.awt.Rectangle; import java.awt.RenderingHints; //from w w w. j a va 2 s .c o m import javax.swing.JButton; import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.JScrollBar; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.ScrollPaneLayout; import javax.swing.WindowConstants; import javax.swing.plaf.basic.BasicScrollBarUI; import java.awt.event.*; import java.awt.*; import javax.swing.*; public class Core { public static void main(String[] args) { new Core(); } public boolean Window_Errors_00001 = true; public Point location; // of the screen in pixels Dimension size = Toolkit.getDefaultToolkit().getScreenSize(); // width will store the width of the screen int width = (int) size.getWidth(); // height will store the height of the screen int height = (int) size.getHeight(); /* System.out.println("Current Screen resolution : " + "width : " + width + " height : " + height); */ int _W_Main = 700; int _H_Main = 600; int _X_Main = Math.round(width / 2 - _W_Main / 2); int _Y_Main = Math.round(height / 2 - _H_Main / 2); int _W_Error = 800; int _H_Error = 500; public Core() { JFrame frame = new JFrame(); JLabel label = new JLabel("Click in Frame 2 to transfer text!"); frame.add(label); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLocation(_X_Main, _Y_Main); frame.setSize(_W_Main, _H_Main); // frame.setLocationRelativeTo(null); frame.setUndecorated(true); frame.getRootPane().setWindowDecorationStyle(JRootPane.FRAME); JPanel panel = new JPanel(); panel.setBackground(Color.DARK_GRAY); frame.setContentPane(panel); MetalLookAndFeel.setCurrentTheme(new MyDefaultMetalTheme_000001()); try { UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (Exception e) { System.out.println(e); } SwingUtilities.updateComponentTreeUI(frame); // // frame.toFront(); // frame.setAlwaysOnTop(true); frame.setAlwaysOnTop(true); frame.setFocusableWindowState(false); // frame.setFocusableWindowState(false); /* while (true) { try { Thread.sleep(5); } catch (InterruptedException e) { } } */ frame.setResizable(false); frame.setVisible(true); location = frame.getLocationOnScreen(); int _X_Error = Math.round(location.x + _W_Main / 2 - _W_Error / 2); int _Y_Error = Math.round(location.y + _H_Main / 2 - _H_Error / 2); //x_Core = location.x; //y_Core = location.y; if (Window_Errors_00001 == true) { Consumer<String> consumer = s -> label.setText(s); new Window_Errors_00001(_W_Error, _H_Error, _X_Error, _Y_Error); } } } class Window_Errors_00001 { private int clicks; public Window_Errors_00001(int _w, int _h, int _x, int _y) { JFrame frame = new JFrame(); // frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.dispatchEvent(new WindowEvent(frame,WindowEvent.WINDOW_CLOSING)); frame.setLocation(_x, _y); frame.setSize(_w, _h); frame.setUndecorated(true); frame.getRootPane().setWindowDecorationStyle(JRootPane.FRAME); JPanel panel = new JPanel(); // Contentpane contentPane = frame.setContentPane(); // Container pane = frame.getContentPane(); panel.setLayout(null); // panel.setLocation(5, 5); // panel.setLayout(new FlowLayout()); panel.setBackground(Color.DARK_GRAY); //5-zeiliges und 20-spaltiges Textfeld wird erzeugt JTextArea textfeld = new JTextArea(5, 5); textfeld.setBounds(10,10,400,60); textfeld.setBackground(Color.BLACK); textfeld.setForeground(Color.WHITE); textfeld.setSelectionStart(5); textfeld.setSelectionEnd(20); //Text für das Textfeld wird gesetzt textfeld.setText("Lorem ipsum dolor sit amet, " + "consetetur sadipscing elitr, sed diam nonumy " + "eirmod tempor invidunt ut labore et " + "dolore magna aliquyam erat, sed diam voluptua. " + "At vero eos et accusam et justo duo dolores et " + "ea rebum."); //Zeilenumbruch wird eingeschaltet textfeld.setLineWrap(true); //Zeilenumbrüche erfolgen nur nach ganzen Wörtern textfeld.setWrapStyleWord(true); //Ein JScrollPane, der das Textfeld beinhaltet, wird erzeugt // // JScrollPane scrollpane = new JScrollPane(textfeld); JScrollPane scrollPane = new JScrollPane(textfeld); scrollPane.setComponentZOrder(scrollPane.getVerticalScrollBar(), 0); scrollPane.setComponentZOrder(scrollPane.getViewport(), 1); scrollPane.getVerticalScrollBar().setOpaque(false); scrollPane.setLayout(new ScrollPaneLayout() { @Override public void layoutContainer(Container parent) { JScrollPane scrollPane = (JScrollPane) parent; Rectangle availR = scrollPane.getBounds(); availR.x = availR.y = 0; Insets parentInsets = parent.getInsets(); availR.x = parentInsets.left; availR.y = parentInsets.top; availR.width -= parentInsets.left + parentInsets.right; availR.height -= parentInsets.top + parentInsets.bottom; Rectangle vsbR = new Rectangle(); vsbR.width = 12; vsbR.height = availR.height; vsbR.x = availR.x + availR.width - vsbR.width; vsbR.y = availR.y; if (viewport != null) { viewport.setBounds(availR); } if (vsb != null) { vsb.setVisible(true); vsb.setBounds(vsbR); } } }); scrollPane.getVerticalScrollBar().setUI(new MyScrollBarUI_01()); scrollPane.getHorizontalScrollBar().setUI(new MyScrollBarUI_01()); /* scrollpane.setHorizontalScrollBarPolicy( JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); scrollpane.setVerticalScrollBarPolicy( JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); */ /* scrollpane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); scrollpane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); */ /* JScrollPane scrollpane = new JScrollPane(textfeld, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); */ //scrollpane.setViewportView(textfeld); //Scrollpane wird unserem Panel hinzugefügt // panel.add(scrollpane); try { textfeld.add(scrollPane); } catch (Exception e) { System.out.println(e); } // textfeld.setLocation(10, 10); panel.add(textfeld); textfeld.append(", Peter"); // JButton mit Text "Drück mich" wird erstellt JButton button = new JButton("Close") { public JToolTip createToolTip() { JToolTip tip = super.createToolTip(); tip.setBackground(Color.BLUE); tip.setForeground(Color.WHITE); return tip; } }; button.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseEntered(java.awt.event.MouseEvent evt) { button.setBackground(Color.DARK_GRAY); } public void mouseExited(java.awt.event.MouseEvent evt) { button.setBackground(UIManager.getColor("control")); } }); button.setBounds(10,100,200,60); button.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); Border bored = BorderFactory.createLineBorder(Color.WHITE); button.setBorder(bored); button.setToolTipText("Close"); //button.setBackground(Color.BLUE); button.setForeground(Color.WHITE); //button. button.addActionListener(new ActionListener() { public void actionPerformed (ActionEvent e){ // System.out.println("You clicked the button"); frame.dispatchEvent(new WindowEvent(frame, WindowEvent.WINDOW_CLOSING)); } }); panel.add(button); frame.add(panel); frame.setContentPane(panel); MetalLookAndFeel.setCurrentTheme(new MyDefaultMetalTheme_000001()); try { UIManager.setLookAndFeel(new MetalLookAndFeel()); } catch (Exception e) { System.out.println(e); } SwingUtilities.updateComponentTreeUI(frame); // frame.toFront(); frame.setAlwaysOnTop(true); frame.setResizable(false); frame.setVisible(true); /* frame.invalidate(); frame.validate(); frame.repaint(); while (true) { try { System.out.println(new Date( )); Thread.sleep(5*60*10); System.out.println(new Date( )); } catch (Exception e) { System.out.println("Got an exception!"); } } */ } } class MyScrollBarUI_01 extends BasicScrollBarUI { private final Dimension d = new Dimension(); @Override protected JButton createDecreaseButton(int orientation) { return new JButton() { @Override public Dimension getPreferredSize() { return d; } }; } @Override protected JButton createIncreaseButton(int orientation) { return new JButton() { @Override public Dimension getPreferredSize() { return d; } }; } @Override protected void paintTrack(Graphics g, JComponent c, Rectangle r) { } @Override protected void paintThumb(Graphics g, JComponent c, Rectangle r) { Graphics2D g2 = (Graphics2D) g.create(); g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); Color color = null; JScrollBar sb = (JScrollBar) c; if (!sb.isEnabled() || r.width > r.height) { return; } else if (isDragging) { color = Color.DARK_GRAY; } else if (isThumbRollover()) { color = Color.LIGHT_GRAY; } else { color = Color.GRAY; } g2.setPaint(color); g2.fillRoundRect(r.x, r.y, r.width, r.height, 10, 10); g2.setPaint(Color.WHITE); g2.drawRoundRect(r.x, r.y, r.width, r.height, 10, 10); g2.dispose(); } @Override protected void setThumbBounds(int x, int y, int width, int height) { super.setThumbBounds(x, y, width, height); scrollbar.repaint(); } } class MyDefaultMetalTheme_000001 extends DefaultMetalTheme { public ColorUIResource getWindowTitleInactiveBackground() { return new ColorUIResource(java.awt.Color.BLACK); } public ColorUIResource getWindowTitleBackground() { return new ColorUIResource(java.awt.Color.BLACK); } public ColorUIResource getPrimaryControlHighlight() { return new ColorUIResource(java.awt.Color.BLACK); } public ColorUIResource getPrimaryControlDarkShadow() { return new ColorUIResource(java.awt.Color.BLACK); } public ColorUIResource getPrimaryControl() { return new ColorUIResource(java.awt.Color.BLACK); } public ColorUIResource getControlHighlight() { return new ColorUIResource(java.awt.Color.BLACK); } public ColorUIResource getControlDarkShadow() { return new ColorUIResource(java.awt.Color.BLACK); } public ColorUIResource getControl() { return new ColorUIResource(java.awt.Color.BLACK); } } |