Вопрос состоит в следующем : возможно ли рисовать на JFrame или необходим какойто компонент вроде Canvas в Delphi? Может нужна какаято область для рисования и как ее задавать и желательно что б все ето было с прокруткой. Я просто смотрел примеры а там все с помощью апплетов. Что без апплетов никак нельзя?
Добавлено через 5 минут и 22 секунды
Код | import java.awt.Color; import java.awt.Component; import java.awt.Container; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.Insets; import java.awt.RenderingHints; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent;
import javax.swing.JButton; import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JPanel; import javax.swing.UIManager;
public class draw_frame implements ActionListener{ static JFrame frame = null; Dimension totalSize; public JComponent createGUI(){ JButton button; GridBagLayout gb = new GridBagLayout(); JPanel componentsPanel = new JPanel(gb); GridBagConstraints gc = new GridBagConstraints(); componentsPanel.setLayout(gb); button = new JButton("Another Window"); button.addActionListener(this); gc.weightx = 1.0; gc.weighty = 1.0; gc.gridx =0; gc.gridy = 0; gc.anchor = GridBagConstraints.NORTHWEST; gc.insets = new Insets(10,10,0,0); gb.setConstraints(button, gc); componentsPanel.add(button); return componentsPanel; };
public void actionPerformed(ActionEvent e) { } public void Paint(Graphics g) { Graphics2D g2 = (Graphics2D) g; g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); // Dimension d = getSize(); // int gridWidth = 100 / 6; // int gridHeight = 100 / 2;
Color fg3D = Color.lightGray;
g2.setPaint(fg3D); g2.draw3DRect(0, 0, 100 - 1, 100 - 1, true); g2.draw3DRect(3, 3,100 - 7, 100 - 7, false); // g2.setPaint(white); } public static void main(String[] args) { try{ UIManager.setLookAndFeel( UIManager.getCrossPlatformLookAndFeelClassName()); } catch(Exception e){} //JFrame.setDefaultLookAndFeelDecorated(true); frame = new JFrame("SAVTIMSIM_BUGIVYGI"); draw_frame app = new draw_frame(); Component contents = app.createGUI(); frame.getContentPane().add(contents); frame.setSize(1100, 700); frame.setLocationRelativeTo(null); //frame.paint(); frame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); //frame.pack(); frame.setVisible(true); } }
|
Вот у меня есть код как мне тут выделить область для рисования (Желательно справо от кнопки). Моим способом не выходит. |