私はこの権利をしたいと思います。私は数週間Javaでプログラミングしてきましたので、これは本当にシンプルかもしれませんが、私はそれを理解できません、私は自分のjavaブック、youtube、googleを試しました。 1つのパネルにテキストフィールドと1つのボタンがあり、ボタンを押した後、新しいパネルに他のテキストフィールドが表示されます。ボタンをクリックすると新しいパネルが表示され、空のままになります。実際に表示するには別の場所にコードの一部を入れなければならないと思いますか?どのような助けをいただければ幸いです。私はコードが判読可能であることを願っています。正確にどこに間違っているのか分かりませんので、完全に追加するのが一番良いと思います。ボタンイベントが発生した後、2番目のパネルが空になりました
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class java03 extends JFrame
{
public static void main (String args[])
{
JFrame frame1 = new java03();
frame1.setSize (600, 500);
frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame1.setTitle("Hour Registration");
JPanel paneel = new Paneelinvoer();
frame1.setContentPane(paneel);
frame1.setVisible (true);
}
}
class Paneelinvoer extends JPanel
{
private JTextField naaminvoer, badgeinvoer;
private JTextField maandaginvoer, dinsdaginvoer, woensdaginvoer, donderdaginvoer, vrijdaginvoer, zaterdaginvoer, zondaginvoer;
private JLabel naam, badge, uren;
private JLabel maandag, dinsdag, woensdag, donderdag, vrijdag, zaterdag, zondag;
private JButton knop;
public Paneelinvoer()
{
setLayout(null);
//tekstvakken
naaminvoer = new JTextField(40);
naaminvoer.setHorizontalAlignment (JTextField.LEFT);
badgeinvoer = new JTextField(4);
badgeinvoer.setHorizontalAlignment (JTextField.LEFT);
maandaginvoer = new JTextField(2);
maandaginvoer.setHorizontalAlignment (JTextField.LEFT);
dinsdaginvoer = new JTextField(2);
dinsdaginvoer.setHorizontalAlignment (JTextField.LEFT);
woensdaginvoer = new JTextField(2);
woensdaginvoer.setHorizontalAlignment (JTextField.LEFT);
donderdaginvoer = new JTextField(2);
donderdaginvoer.setHorizontalAlignment (JTextField.LEFT);
vrijdaginvoer = new JTextField(2);
vrijdaginvoer.setHorizontalAlignment (JTextField.LEFT);
zaterdaginvoer = new JTextField(2);
zaterdaginvoer.setHorizontalAlignment (JTextField.LEFT);
zondaginvoer = new JTextField(2);
zondaginvoer.setHorizontalAlignment (JTextField.LEFT);
//labels
naam = new JLabel ("Naam:");
badge = new JLabel ("Badgenummer:");
uren = new JLabel ("Uren");
maandag = new JLabel ("Maandag");
dinsdag = new JLabel ("Dinsdag");
woensdag = new JLabel ("Woensdag");
donderdag = new JLabel ("Donderdag");
vrijdag = new JLabel ("Vrijdag");
zaterdag = new JLabel ("Zaterdag");
zondag = new JLabel ("Zondag");
//knoppen
knop = new JButton ("Accept");
knop.addActionListener (new knopHandler());
//plaats en afmetingen
naam.setBounds(20, 20, 120, 20);
naaminvoer.setBounds(140, 20, 90, 20);
badge.setBounds(20, 50, 120, 20);
badgeinvoer.setBounds(140, 50, 90, 20);
uren.setBounds (190, 100, 90, 20);
maandag.setBounds(20, 120, 120, 20);
maandaginvoer.setBounds(160, 120, 90, 20);
dinsdag.setBounds(20, 160, 120, 20);
dinsdaginvoer.setBounds(160, 160, 90, 20);
woensdag.setBounds(20, 200, 120, 20);
woensdaginvoer.setBounds(160, 200, 90, 20);
donderdag.setBounds(20, 240, 120, 20);
donderdaginvoer.setBounds(160, 240, 90, 20);
vrijdag.setBounds(20, 280, 120, 20);
vrijdaginvoer.setBounds(160, 280, 90, 20);
zaterdag.setBounds(20, 320, 120, 20);
zaterdaginvoer.setBounds(160, 320, 90, 20);
zondag.setBounds(20, 360, 120, 20);
zondaginvoer.setBounds(160, 360, 90, 20);
knop.setBounds (100, 400, 100, 20);
//voeg componenten toe
add (naaminvoer);
add (badgeinvoer);
add (naam);
add (badge);
add (uren);
add (maandag);
add (dinsdag);
add (woensdag);
add (donderdag);
add (vrijdag);
add (zaterdag);
add (zondag);
add (maandaginvoer);
add (dinsdaginvoer);
add (woensdaginvoer);
add (donderdaginvoer);
add (vrijdaginvoer);
add (zaterdaginvoer);
add (zondaginvoer);
add (knop);
}
class knopHandler implements ActionListener
{
public void actionPerformed (ActionEvent e)
{
JFrame frame2 = new JFrame ("Total Hours");
frame2.setSize (600, 500);
JPanel uitvoerpanel = new JPanel();
frame2.setContentPane(uitvoerpanel);
frame2.setVisible(true);
String invoerstring1 = maandaginvoer.getText();
int getal1 = Integer.parseInt(invoerstring1);
String invoerstring2 = dinsdaginvoer.getText();
int getal2 = Integer.parseInt(invoerstring2);
String invoerstring3 = woensdaginvoer.getText();
int getal3 = Integer.parseInt(invoerstring3);
String invoerstring4 = donderdaginvoer.getText();
int getal4 = Integer.parseInt(invoerstring4);
String invoerstring5 = vrijdaginvoer.getText();
int getal5 = Integer.parseInt(invoerstring5);
String invoerstring6 = zaterdaginvoer.getText();
int getal6 = Integer.parseInt(invoerstring6);
String invoerstring7 = zondaginvoer.getText();
int getal7 = Integer.parseInt(invoerstring7);
int resultaat = getal1 + getal2 + getal3 + getal4 + getal5 + getal6 + getal7;
}
}
class uitvoerpanel extends JPanel
{
private JTextField naamvak, badgevak, totaalurenvak;
private JLabel naam, badge, totaaluren;
public uitvoerpanel()
{
setLayout(null);
naamvak = new JTextField (20);
naamvak.setHorizontalAlignment (JTextField.LEFT);
naamvak.setEditable (false);
badgevak = new JTextField (20);
badgevak.setHorizontalAlignment (JTextField.LEFT);
badgevak.setEditable (false);
totaalurenvak = new JTextField (20);
totaalurenvak.setHorizontalAlignment (JTextField.LEFT);
totaalurenvak.setEditable (false);
naam = new JLabel ("Naam:");
badge = new JLabel ("Badgenummer:");
totaaluren = new JLabel ("Totaal gewerkte uren:");
naam.setBounds (50,50, 90, 20);
naamvak.setBounds (160, 50, 90, 20);
badge.setBounds (50, 90, 90, 20);
badgevak.setBounds (160, 90, 90, 20);
totaaluren.setBounds (50, 130, 90, 20);
totaalurenvak.setBounds (160, 130, 90, 20);
add (naamvak);
add (badgevak);
add (totaalurenvak);
add (naam);
add (badge);
add (totaaluren);
}
}
}
ここにコードを貼り付けるときに、このバグを再現するために、JTextFieldなど必要のないもののコードをクリアしてください。 –
チップをありがとう、次回に覚えておいてください –