Q
quarx
Gast
Hi!
Ich versuche gerade mein erstes GUI zu schreiben, für ein Programm das ich bereits programmiert habe.
In meinem package "dnb" gibt es 2 Klassen, "mainMenu" und "scanMenu".
Zuerst erstellt mainMenu ein JFrame mit 6 JButtons. Wird der Button "Add" angeclickt, soll ein scanMenu-Frame erstellt werden, das 3 JTextFields und einen JButton enthält.
Nun, so weit bin ich bis jetzt gekommen.
1) Ich hab ein Main.java das so aussieht:
Beim compilen erhalte ich folgenden Fehler:
mainMenu.java:
scanMenu.java:
Hoffe ihr könnt mir Klarheit verschaffen,
lg
Ich versuche gerade mein erstes GUI zu schreiben, für ein Programm das ich bereits programmiert habe.
In meinem package "dnb" gibt es 2 Klassen, "mainMenu" und "scanMenu".
Zuerst erstellt mainMenu ein JFrame mit 6 JButtons. Wird der Button "Add" angeclickt, soll ein scanMenu-Frame erstellt werden, das 3 JTextFields und einen JButton enthält.
Nun, so weit bin ich bis jetzt gekommen.
1) Ich hab ein Main.java das so aussieht:
Code:
import dnb.*;
import dnb.scanMenu;
import dnb.mainMenu;
public class Main {
public static void main () {
mainMenu A = new mainMenu();
}
}
Und ich versteh nicht warum ?mainMenu.java [45:1] cannot resolve symbol
symbol : constructor scanMenu (dnb.mainMenu)
location: class dnb.scanMenu
new scanMenu(this);
^
1 error
mainMenu.java:
Code:
package dnb;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.text.*;
public class mainMenu extends JFrame implements ActionListener {
public mainMenu() {
setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
setTitle( "Tracklist Manager" );
Container c = getContentPane();
GridBagLayout gbl = new GridBagLayout();
c.setLayout( gbl );
JButton a = new JButton( "Add" );
a.addActionListener( this );
JButton m = new JButton( "Remove" );
m.addActionListener( this );
JButton s = new JButton( "Search" );
s.addActionListener( this );
JButton p = new JButton( "Parse" );
p.addActionListener( this );
JButton r = new JButton( "Rate" );
r.addActionListener( this );
JButton l = new JButton( "List" );
l.addActionListener( this );
addComponent( c, gbl, a, 0, 0, 1, 1, 0, 0 );
addComponent( c, gbl, m, 1, 0, 1, 1, 0, 0 );
addComponent( c, gbl, s, 2, 0, 1, 1, 0, 0 );
addComponent( c, gbl, p, 3, 0, 1, 1, 0, 0 );
addComponent( c, gbl, r, 4, 0, 1, 1, 0, 0 );
addComponent( c, gbl, l, 5, 0, 1, 1, 0, 0 );
setSize( 800, 500 );
pack();
show();
}
private void openScanMenu(){
new scanMenu(this); // HIER LIEGT DER HUND BEGRABEN ?
}
public void actionPerformed( ActionEvent e ) {
if (e.equals("Add")) { System.out.println("Add"); openScanMenu(); }
if (e.equals("Remove")) System.out.println("Remove");
if (e.equals("Search")) System.out.println("Search");
if (e.equals("Parse")) System.out.println("Parse");
if (e.equals("Rate")) System.out.println("Rate");
if (e.equals("List")) System.out.println("List");
}
public void addComponent( Container cont,
GridBagLayout gbl,
Component c,
int x, int y,
int width, int height,
double weightx, double weighty ) {
GridBagConstraints gbc = new GridBagConstraints();
gbc.fill = GridBagConstraints.BOTH;
gbc.gridx = x; gbc.gridy = y;
gbc.gridwidth = width; gbc.gridheight = height;
gbc.weightx = weightx; gbc.weighty = weighty;
gbl.setConstraints( c, gbc );
cont.add( c );
}
}
Code:
package dnb;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.text.*;
public class scanMenu extends JFrame implements ActionListener {
private mainMenu parent;
private void scanMenu(mainMenu parent) {
this.parent = parent;
JTextField Artist = new JTextField();
JTextField Title = new JTextField();
JTextField Ripper = new JTextField();
JButton ok = new JButton( "OK" );
ok.addActionListener( this );
setDefaultCloseOperation( JFrame.DISPOSE_ON_CLOSE );
setTitle( "Track Selection" );
Container b = getContentPane();
b.setLayout( new GridLayout(4, 2, 3, 3) );
b.add( new JLabel("Artist:") );
b.add( Artist );
b.add( new JLabel("Titel:") );
b.add( Title );
b.add( new JLabel("Ripper:") );
b.add( Ripper );
b.add( new JLabel("") );
b.add( ok );
setSize(500,130);
setVisible( true );
}
public void actionPerformed(ActionEvent e) {
setVisible( false );
dispose();
}
}
Hoffe ihr könnt mir Klarheit verschaffen,
lg