0
我在嘗試打開新框架時隱藏新框架時遇到問題。在這段代碼的最後有一個對另一個類的start()方法的調用,我希望隱藏這個類框架,但我似乎無法從其當前位置訪問該框架。與fram隱藏問題
package InventoryApp;
//Import
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
/**
*
* @author Curtis
*/
public class JSplash extends JFrame implements ActionListener
{
//declaration of variable objects
Font myFont = new Font("Arial", Font.BOLD, 20);
JButton myButton = new JButton("Click Me!");
Color bgColor = new Color(0,0,255);
Color firstColor = new Color(255,255,255);
String first = "Welcome to DaemoDynamics!";
String last = "Click the Button";
String middle = "";
String middle2 = "";
int count = 1;
//Constructor
public JSplash()
{
super("Item Inventory Application");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout (new BorderLayout());
add(myButton, BorderLayout.SOUTH);
setDefaultLookAndFeelDecorated(true);
getContentPane().setBackground(bgColor);
//adds action listener
myButton.addActionListener(this);
}
//Paint method
@Override
public void paint(Graphics e)
{
super.paint(e);
e.setFont(myFont);
e.setColor(firstColor);
e.drawString(first, 14, 80);
e.drawString(last, 70, 240);
e.drawString(middle, 75, 150);
e.drawString(middle2, 60, 175);
}
public static void begin()
{
final int TALL = 316;
final int WIDE = 304;
JSplash frame = new JSplash();
frame.setSize(WIDE, TALL);
frame.setVisible(true);
}
//Listener Method
@Override
public void actionPerformed(ActionEvent e)
{
//First Time button hit
if(count == 1)
{
middle = "Brighter Business";
middle2 = "for A Brighter Future";
last = "Click Again to Begin";
repaint();
//increases button count
count ++;
}
else//if button count is not 1
{
frame.setVisible(false);
FinalProject.start();
}
}
}
此代碼似乎不能編譯。 – 2012-07-23 04:24:48
請參閱[使用多個JFrames,好/壞的做法?](http://stackoverflow.com/a/9554657/418556) – 2012-07-23 04:27:21
另外,您的代碼表明您認爲可以通過將隨機行的代碼。它不能。你需要了解每一行發生了什麼。 – 2012-07-23 04:34:27