向Java添加标题和文本字段
我有一个小程序已经开始与多个菜单项 单击一个项目时,我希望在框架上显示一些内容,单击另一个项目时,第一个项目消失,第二个项目出现 我可以打印到控制台,但似乎无法打印到框架 如有任何建议,将不胜感激:向Java添加标题和文本字段,java,swing,user-interface,paint,Java,Swing,User Interface,Paint,我有一个小程序已经开始与多个菜单项 单击一个项目时,我希望在框架上显示一些内容,单击另一个项目时,第一个项目消失,第二个项目出现 我可以打印到控制台,但似乎无法打印到框架 如有任何建议,将不胜感激: import javax.swing.*; import java.awt.*; import java.awt.event.*; public class melco extends JFrame{ public static void main(String[] args){ JF
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class melco extends JFrame{
public static void main(String[] args){
JFrame frame = new JFrame("Salesman Resources");
frame.setVisible(true);
frame.setSize(1000,800);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JMenuBar menubar = new JMenuBar();
frame.setJMenuBar(menubar);
JMenu file = new JMenu("File");
menubar.add(file);
JMenuItem exit = new JMenuItem("Exit");
file.add(exit);
JMenu orders = new JMenu("Orders");
menubar.add(orders);
JMenuItem bookedorders = new JMenuItem("Booked Orders");
orders.add(bookedorders);
JMenuItem backorders = new JMenuItem("BackOrders");
orders.add(backorders);
JMenu customers = new JMenu("Customers");
menubar.add(customers);
JMenuItem customersales = new JMenuItem("Customer Sales");
customers.add(customersales);
JMenuItem customeritems = new JMenuItem("Customer Items");
customers.add(customeritems);
JMenuItem customerprices = new JMenuItem("Customer Prices");
customers.add(customerprices);
JMenuItem customerlistings = new JMenuItem("Customer Listings");
customers.add(customerlistings);
JMenu inv = new JMenu("INV");
menubar.add(inv);
JMenuItem surplusinv = new JMenuItem("Surplus Inv");
inv.add(surplusinv);
JMenuItem stockinv = new JMenuItem("Stock Inv");
inv.add(stockinv);
JMenu search = new JMenu("Searh");
menubar.add(search);
JMenuItem itemsearch = new JMenuItem("Item Search");
search.add(itemsearch);
JMenuItem customersearch = new JMenuItem("Customer Search");
search.add(customersearch);
JMenu menulostsales = new JMenu("Lost Sales");
menubar.add(menulostsales);
JMenuItem lostsales = new JMenuItem("Lost Sales");
menulostsales.add(lostsales);
JMenu menumarginadvisor = new JMenu("Margin Advisor");
menubar.add(menumarginadvisor);
JMenuItem marginadvisor = new JMenuItem("Margin Advisor");
menumarginadvisor.add(marginadvisor);
JMenu menumakeandhold = new JMenu("Make and Hold");
menubar.add(menumakeandhold);
JMenuItem makeandhold = new JMenuItem("Make and Hold");
menumakeandhold.add(makeandhold);
makeandhold.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e)
{
System.out.println("Make and Hold is pressed");
System.out.println("Hello World");
// This is Make and Hold Area
}
}
);
class exitaction implements ActionListener {
public void actionPerformed (ActionEvent e){
System.exit(0);
}
}
exit.addActionListener(new exitaction());
}
}
你不能打印到相框上。也许您想添加一个JTextArea并向其附加数据?为什么不在JMenuItems上添加一个MouseListener?您可以将最新的“message”引用作为成员变量保存,并在另一个MouseListener被触发时将其从JFrame中删除。好的,因此您需要在框架上显示一些内容,例如
JLabel
frame.setLayout(new BorderLayout());
JLabel lblMessage = new JLabel(); // You'll probably need to declare this as final
frame.add(lblMessage);
然后,在你的行动中,听众可以做如下事情
public void actionPerformed (ActionEvent e){
label.setText("This is a message from the menu item");
}
我可以打印到控制台,但似乎无法打印到框架
你到底是什么意思
如果要在框架上设置标题,可以使用setTitle:
frame.setTitle("a title");
否则,如果您想添加一些文本,您至少需要向JFrame添加一些组件。
看看:
当您需要更改文本时:
label.setText("some text");
- 除了让EDT处理GUI之外,永远不要将它用于其他事情
main()方法在将Gui的构造调度到事件调度程序线程后退出。因此,是EDT来处理它。
public static void main(String[] args){
EventQueue.invokeLater(new Runnable(){
public void run(){
myframe.setVisible(true);
}
}
}
- 您需要像
这样的东西来添加像Title这样的东西JLable
- 您可以将
添加到JPanel
中,然后将JFrame
添加到其中JTextField
绘制方法
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class melco extends JFrame{
String str;
int x = 100, y = 100;
public melco(String title){
super(title);
}
void print(String s){
str = s;
repaint();
}
public void paint(Graphics g){
super.paint(g);
if (str != null)
g.drawString(str, x, y);
}
public static void main(String[] args){
final melco frame = new melco("Salesman Resources");
frame.setVisible(true);
frame.setSize(1000,800);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JMenuBar menubar = new JMenuBar();
frame.setJMenuBar(menubar);
JMenu file = new JMenu("File");
menubar.add(file);
JMenuItem exit = new JMenuItem("Exit");
file.add(exit);
JMenu orders = new JMenu("Orders");
menubar.add(orders);
JMenuItem bookedorders = new JMenuItem("Booked Orders");
orders.add(bookedorders);
JMenuItem backorders = new JMenuItem("BackOrders");
orders.add(backorders);
JMenu customers = new JMenu("Customers");
menubar.add(customers);
JMenuItem customersales = new JMenuItem("Customer Sales");
customers.add(customersales);
JMenuItem customeritems = new JMenuItem("Customer Items");
customers.add(customeritems);
JMenuItem customerprices = new JMenuItem("Customer Prices");
customers.add(customerprices);
JMenuItem customerlistings = new JMenuItem("Customer Listings");
customers.add(customerlistings);
JMenu inv = new JMenu("INV");
menubar.add(inv);
JMenuItem surplusinv = new JMenuItem("Surplus Inv");
inv.add(surplusinv);
JMenuItem stockinv = new JMenuItem("Stock Inv");
inv.add(stockinv);
JMenu search = new JMenu("Searh");
menubar.add(search);
JMenuItem itemsearch = new JMenuItem("Item Search");
search.add(itemsearch);
JMenuItem customersearch = new JMenuItem("Customer Search");
search.add(customersearch);
JMenu menulostsales = new JMenu("Lost Sales");
menubar.add(menulostsales);
JMenuItem lostsales = new JMenuItem("Lost Sales");
menulostsales.add(lostsales);
JMenu menumarginadvisor = new JMenu("Margin Advisor");
menubar.add(menumarginadvisor);
JMenuItem marginadvisor = new JMenuItem("Margin Advisor");
menumarginadvisor.add(marginadvisor);
JMenu menumakeandhold = new JMenu("Make and Hold");
menubar.add(menumakeandhold);
JMenuItem makeandhold = new JMenuItem("Make and Hold");
menumakeandhold.add(makeandhold);
makeandhold.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e)
{
System.out.println("Make and Hold is pressed");
frame.print("Make and Hold is pressed");
System.out.println("Hello World");
frame.print("Hello World");
// This is Make and Hold Area
}
}
);
class exitaction implements ActionListener {
public void actionPerformed (ActionEvent e){
System.exit(0);
}
}
exit.addActionListener(new exitaction());
}
}
欢迎来到这个论坛:-)为了让潜在的帮助者更容易,请学习java命名约定并坚持它们。谢谢,这是我前进所需要的!接下来,我将尝试向不同的事件处理程序添加一些文本框和按钮。
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class melco extends JFrame{
String str;
int x = 100, y = 100;
public melco(String title){
super(title);
}
void print(String s){
str = s;
repaint();
}
public void paint(Graphics g){
super.paint(g);
if (str != null)
g.drawString(str, x, y);
}
public static void main(String[] args){
final melco frame = new melco("Salesman Resources");
frame.setVisible(true);
frame.setSize(1000,800);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JMenuBar menubar = new JMenuBar();
frame.setJMenuBar(menubar);
JMenu file = new JMenu("File");
menubar.add(file);
JMenuItem exit = new JMenuItem("Exit");
file.add(exit);
JMenu orders = new JMenu("Orders");
menubar.add(orders);
JMenuItem bookedorders = new JMenuItem("Booked Orders");
orders.add(bookedorders);
JMenuItem backorders = new JMenuItem("BackOrders");
orders.add(backorders);
JMenu customers = new JMenu("Customers");
menubar.add(customers);
JMenuItem customersales = new JMenuItem("Customer Sales");
customers.add(customersales);
JMenuItem customeritems = new JMenuItem("Customer Items");
customers.add(customeritems);
JMenuItem customerprices = new JMenuItem("Customer Prices");
customers.add(customerprices);
JMenuItem customerlistings = new JMenuItem("Customer Listings");
customers.add(customerlistings);
JMenu inv = new JMenu("INV");
menubar.add(inv);
JMenuItem surplusinv = new JMenuItem("Surplus Inv");
inv.add(surplusinv);
JMenuItem stockinv = new JMenuItem("Stock Inv");
inv.add(stockinv);
JMenu search = new JMenu("Searh");
menubar.add(search);
JMenuItem itemsearch = new JMenuItem("Item Search");
search.add(itemsearch);
JMenuItem customersearch = new JMenuItem("Customer Search");
search.add(customersearch);
JMenu menulostsales = new JMenu("Lost Sales");
menubar.add(menulostsales);
JMenuItem lostsales = new JMenuItem("Lost Sales");
menulostsales.add(lostsales);
JMenu menumarginadvisor = new JMenu("Margin Advisor");
menubar.add(menumarginadvisor);
JMenuItem marginadvisor = new JMenuItem("Margin Advisor");
menumarginadvisor.add(marginadvisor);
JMenu menumakeandhold = new JMenu("Make and Hold");
menubar.add(menumakeandhold);
JMenuItem makeandhold = new JMenuItem("Make and Hold");
menumakeandhold.add(makeandhold);
makeandhold.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e)
{
System.out.println("Make and Hold is pressed");
frame.print("Make and Hold is pressed");
System.out.println("Hello World");
frame.print("Hello World");
// This is Make and Hold Area
}
}
);
class exitaction implements ActionListener {
public void actionPerformed (ActionEvent e){
System.exit(0);
}
}
exit.addActionListener(new exitaction());
}
}