嘿傢伙,所以我可以設置我的彈出窗口,從一個單獨的類中調用的默認框架。正如你可能會告訴我,我是一個極端的noob Java。任何幫助,將不勝感激。JFrame Swing如何從彈出窗口改變框架看起來像Windows主題
這是調用第二個類運行的代碼。
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.text.NumberFormat;
class Login extends JFrame implements ActionListener
{
JButton SUBMIT;
JPanel panel;
JLabel label1,label2;
final JTextField text1,text2;
Login()
{
label1 = new JLabel();
label1.setText(" Enter Username:");
label1.setForeground(Color.green);
text1 = new JTextField(10);
label2 = new JLabel();
label2.setText(" Enter Password:");
label2.setForeground(Color.green);
text2 = new JPasswordField(10);
SUBMIT=new JButton("SUBMIT");
SUBMIT.setOpaque(true);
SUBMIT.setBackground(Color.BLACK);
SUBMIT.setForeground(Color.green);
panel=new JPanel(new GridLayout(4,1));
panel.add(label1);
panel.add(text1);
panel.add(label2);
panel.add(text2);
panel.add(SUBMIT);
add(panel,BorderLayout.CENTER);
SUBMIT.addActionListener(this);
setTitle("LOGIN or DIE!!!!!");
panel.setBackground(Color.black);
setDefaultLookAndFeelDecorated(true);
setLocationRelativeTo(null);
}
public void actionPerformed(ActionEvent ae)
{
String value1=text1.getText();
String value2=text2.getText();
if (value1.equals("McDinger") && value2.equals("welcome1")) {
ExerciseSevenPt2 page=new ExerciseSevenPt2();
page.setVisible(true);
JLabel label = new JLabel(" Welcome to The Java Cave, "+value1 + ". " + "Are you Worthy of the Cave?");
label.setOpaque(true);
label.setForeground(Color.green);
label.setBackground(Color.black);
page.getContentPane().add(label);
}
else{
System.out.println("enter the valid username and password OR ELSE!!!!!");
UIManager UI=new UIManager();
UI.put("OptionPane.messageForeground", Color.red);
UI.put("OptionPane.background", Color.black);
UI.put("Panel.background", Color.black);
JOptionPane.showMessageDialog(this,"Incorrect login or password Genius", "Error",JOptionPane.ERROR_MESSAGE);
setDefaultLookAndFeelDecorated(true);
}
}
}
class ExerciseSeven
{
public static void main(String arg[])
{
try
{
Login frame=new Login();
frame.setSize(300,100);
frame.setVisible(true);
}
catch(Exception e)
{JOptionPane.showMessageDialog(null, e.getMessage());}
}
}
這裏是第二類
import javax.swing.*;
import java.awt.*;
class ExerciseSevenPt2 extends JFrame
{
ExerciseSevenPt2()
{
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
setTitle("The Java Cave ");
setSize(400,70);
setLocationRelativeTo(null);
}
}
這裏是我的問題,執行代碼後視覺。 底部窗口是我想要的頂部的樣子。
1)請參閱[多JFrames,好/壞習慣的用?(http://stackoverflow.com/a/9554657/418556)的登錄應顯示在一個模式'JDialog'或者「JOptionPane」。 2)AFAIU彈出窗口應該使用當前的PLAF。 PLAF如何設置?爲了更快地獲得更好的幫助,請發佈[SSCCE](http://sscce.org/)。 – 2013-03-27 23:13:32
如何連接SSCCE? – 2013-03-27 23:19:49
與上面的代碼片段和類相同,除了包含自包含的源文件。詳情請閱讀[鏈接文件](http://sscce.org/)。 – 2013-03-27 23:22:07