Hallo,
ich bin ein Java-Neuling und habe ein Problem.
Ich möchte das bei einer Aktion im Menü in mein "JPanel zum Zeichnen" gezeichnet wird.
Es soll später eine Textdatei geöffnet werden und danach werden dann die Rechtecke eine Logicals gezeichnet. Zur Zeit will ich bloß erstmal sehen, das überhaupt was gezeichnet wird.
Das Tutorial zum Zeichnen mit SWING von Wildcard habe ich gelesen und beherzigt, aber irgendetwas klappt trotzdem nicht.
Wie ich später einen Mauslistener an das JPanel hänge, läßt sich bestimmt ergoogeln.
Hier nun der Quellcode:
LogicalSolverApp.java:
DrawLogicalStructur.java
Ich würde mich freuen, wenn Ihr mir helfen könntet.
Gruß
Fantasyelf
ich bin ein Java-Neuling und habe ein Problem.
Ich möchte das bei einer Aktion im Menü in mein "JPanel zum Zeichnen" gezeichnet wird.
Es soll später eine Textdatei geöffnet werden und danach werden dann die Rechtecke eine Logicals gezeichnet. Zur Zeit will ich bloß erstmal sehen, das überhaupt was gezeichnet wird.
Das Tutorial zum Zeichnen mit SWING von Wildcard habe ich gelesen und beherzigt, aber irgendetwas klappt trotzdem nicht.
Wie ich später einen Mauslistener an das JPanel hänge, läßt sich bestimmt ergoogeln.
Hier nun der Quellcode:
LogicalSolverApp.java:
Java:
package logicalsolver;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
/**
*
* @author ######;
*/
public class LogicalSolverApp {
private JFrame fenster;
private JPanel paneldraw;
private JPanel panelbuttons;
private JMenuBar menuebar;
private JMenu menue;
private DrawLogicalStructur logstruktur = new DrawLogicalStructur();
public LogicalSolverApp() {
// Erstelle Fenster
fenster = new JFrame("Logical Solver");
fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fenster.setSize(900, 650);
Toolkit toolkit = fenster.getToolkit();
Dimension size = toolkit.getScreenSize();
fenster.setLocation(size.width/2-fenster.getWidth()/2, size.height/2-fenster.getHeight()/2);
// Erstelle Menübar
menuebar = new JMenuBar();
// Erstelle Menü Datei
menue = new JMenu("Datei");
menue.setMnemonic(KeyEvent.VK_D);
menue.getAccessibleContext().setAccessibleDescription("Menü Datei");
menuebar.add(menue);
// Erstelle Menü Items in Menü Datei
JMenuItem menuitem = new JMenuItem("Logical laden...", KeyEvent.VK_L);
menuitem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_L, ActionEvent.ALT_MASK));
menuitem.getAccessibleContext().setAccessibleDescription("Logical laden");
menuitem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
logstruktur.setPreferredSize(new Dimension(700, 650));
paneldraw.add(logstruktur);
logstruktur.repaint();
System.out.println("Logical laden ausgewählt");
}
});
menue.add(menuitem);
fenster.setJMenuBar(menuebar);
// Erstelle Panel zum Zeichen
paneldraw = new JPanel();
paneldraw.setSize(700, 650);
paneldraw.setBackground(Color.WHITE);
fenster.add(paneldraw);
paneldraw.setLayout(null);
// Erstelle Panel für spätere Buttons
panelbuttons = new JPanel();
panelbuttons.setSize(200, 650);
panelbuttons.setBackground(Color.LIGHT_GRAY);
panelbuttons.setLocation(700, 0);
fenster.add(panelbuttons);
//panelbuttons.setLayout(null);
fenster.setVisible(true);
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
LogicalSolverApp lsa = new LogicalSolverApp();
}
}
DrawLogicalStructur.java
Java:
package logicalsolver;
import java.awt.*;
import javax.swing.*;
/**
*
* @author ######
*/
public class DrawLogicalStructur extends JComponent {
private String file = "";
private int[][] matrix;
private int x;
private int y;
public void setFile(String filename) {
this.file = filename;
}
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g;
g2d.setColor(new Color(0, 0, 0));
g2d.drawRect(0, 0, 50, 50);
}
}
Ich würde mich freuen, wenn Ihr mir helfen könntet.
Gruß
Fantasyelf