嗨我试着以不同的颜色显示我的Jframe,因为我的老师要求我这样做,但它只会弹出红色然后正常的基本灰色会回来,我不明白为什么这里是代码:
(PS,如果你也可以给我替代品,我需要添加一个帮助按钮和另一个JCombobox将我的东西转换为另一个选择但它不起作用谢谢你)
package conversions;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.Iterator;
import java.util.Scanner;
class ConversionsFrame extends JFrame implements ActionListener {
JLabel label1,label2;
JTextField text2 = new JTextField();
JTextField text1 = new JTextField();
JComboBox combo1 = new JComboBox();
JComboBox combo2 = new JComboBox();
JPanel simplePanel =new JPanel();
@Override
public void paint(Graphics g) {
g.setColor(Color.red);
g.fillRect(0, 0, this.getWidth(), this.getHeight());
}
public ConversionsFrame(){
setTitle("Fenêtre de conversion");
setSize(600,300);
setResizable(true);
setLocationRelativeTo(null);
combo1.addItem("Distances");
combo1.addItem("Volumes");
combo1.addItem("Masses");
simplePanel.add(combo1);
combo2.insertItemAt("Mètres",0);
combo2.insertItemAt("Décimètres",1);
combo2.insertItemAt("Centimètres",2);
combo2.insertItemAt("Milimètres",3);
simplePanel.add(combo2);
label1=new JLabel("Unités");
simplePanel.add(label1);
text1=new JTextField(10);
simplePanel.add(text1);
label2=new JLabel ("Résultat");
simplePanel.add(label2);
text2=new JTextField(10);
simplePanel.add(text2);
add(simplePanel);
combo1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
switch ((String)combo1.getSelectedItem()){
case("Distances"):
combo2.removeAllItems();
combo2.insertItemAt("Mètres",0);
combo2.insertItemAt("Décimètres",1);
combo2.insertItemAt("Centimètres",2);
combo2.insertItemAt("Milimètres",3);
break;
case("Volumes"):
combo2.removeAllItems();
combo2.insertItemAt("Litres",0);
combo2.insertItemAt("Décilitres",1);
combo2.insertItemAt("Centilitres",2);
combo2.insertItemAt("Mililitres",3);
break;
case("Masses"):
combo2.removeAllItems();
combo2.insertItemAt("Grammes",0);
combo2.insertItemAt("Décigrammes",1);
combo2.insertItemAt("Centigrammes",2);
combo2.insertItemAt("Miligrammes",3);
break;
}
simplePanel.add(combo2);
// getContentPane().add(simplePanel);
}
});
}
public void actionPerformed(ActionEvent event){
System.out.println("Option choisie: "+combo1.getSelectedItem());
}
}
答案 0 :(得分:0)
好的我找到了:
public ConversionsFrame(){
setTitle("Fenêtre de conversion");
setSize(600,300);
setResizable(true);
setLocationRelativeTo(null);
simplePanel.setBackground (java.awt.Color.RED) ;