Java点击按钮弹出窗口(两种按钮)

import java.awt.Button;
import java.awt.Frame;
import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;

@SuppressWarnings("serial")
public class Login extends Frame{
	public Login(String str){
		super(str);
	}
	static Login fr = new Login("测试Panel");
	public static void main(String[] args){
		
		fr.setSize(500, 500);
		fr.setLocation(500, 300);
		fr.setBackground(null);
		fr.setLayout(null);
		
		Button button = new Button("点击我");
		button.setSize(50, 25);
		//button.setBorderPainted(false);
		button.setLocation(50, 50);
		button.addActionListener(new ActionListener(){
			//单击按钮执行的方法
			public void actionPerformed(ActionEvent e) {
				closeThis();
				//创建新的窗口
				JFrame frame = new JFrame("新窗口");
				//设置在屏幕的位置
				frame.setLocation(100,50);
//				窗体大小
				frame.setSize(500,500);
//				显示窗体
				frame.setVisible(true);
			}
			
		});
		
		JButton button1 = new JButton("点");
		button1.setSize(50, 25);
		button1.setBackground(null);
		button1.setBorderPainted(false);
		button1.setLocation(50,80 );
		button1.addActionListener(new ActionListener(){
			//单击按钮执行的方法
			public void actionPerformed(ActionEvent e) {
				closeThis();
				//创建新的窗口
				JFrame frame1 = new JFrame("新窗口");
				//设置在屏幕的位置
				frame1.setLocation(100,50);
//				窗体大小
				frame1.setSize(200,200);
				JButton button2 = new JButton("点击我");
				button2.setSize(50, 25);
				button2.setBorderPainted(false);
				button2.setLocation(50,80 );
				button2.addActionListener(new ActionListener(){
					//单击按钮执行的方法
					public void actionPerformed(ActionEvent e) {
						closeThis();
						//创建新的窗口
						JFrame frame = new JFrame("新窗口");
						//设置在屏幕的位置
						frame.setLocation(200,50);
//						窗体大小
						frame.setSize(200,200);
//						显示窗体
						frame.setVisible(true);
					}
					
				});
				
				Panel pan = new Panel();
				pan.setSize(100, 100);
				
				frame1.add(button2);
				frame1.add(pan);


//				显示窗体
				frame1.setVisible(true);
			}
			
		});
		

		fr.add(button);
		fr.add(button1);

		fr.setVisible(true);
	}
	public static void closeThis(){
		fr.dispose();
}
}

  • 17
    点赞
  • 112
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java中,可以使用Swing或JavaFX来创建下拉框和弹出窗口。下面给出两种方法: 1. 使用Swing Swing是Java中一个常用的GUI库,可以使用JComboBox类来创建下拉框,使用JPopupMenu类来创建弹出窗口。下面是一个示例代码: ``` import javax.swing.*; import java.awt.*; import java.awt.event.*; public class MyFrame extends JFrame { private JComboBox<String> comboBox; private JPopupMenu popupMenu; public MyFrame() { super("My Frame"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setSize(300, 200); setLayout(new FlowLayout()); comboBox = new JComboBox<>(new String[] {"Option 1", "Option 2", "Option 3"}); add(comboBox); popupMenu = new JPopupMenu(); popupMenu.add(new JMenuItem("Menu Item 1")); popupMenu.add(new JMenuItem("Menu Item 2")); popupMenu.add(new JMenuItem("Menu Item 3")); comboBox.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if (comboBox.getSelectedItem().equals("Option 1")) { popupMenu.show(comboBox, 0, comboBox.getHeight()); } } }); setVisible(true); } public static void main(String[] args) { new MyFrame(); } } ``` 这个程序创建了一个下拉框,当选择其中的"Option 1"时,会弹出一个包含三个菜单项的弹出窗口。可以根据需要修改弹出窗口的内容和位置。 2. 使用JavaFX JavaFX是Java中的另一个GUI库,可以使用ComboBox和Popup类来创建下拉框和弹出窗口。下面是一个示例代码: ``` import javafx.application.Application; import javafx.geometry.Bounds; import javafx.geometry.Point2D; import javafx.scene.Scene; import javafx.scene.control.ComboBox; import javafx.scene.control.Label; import javafx.scene.control.Popup; import javafx.scene.layout.StackPane; import javafx.stage.Stage; public class MyApplication extends Application { private ComboBox<String> comboBox; private Popup popup; public void start(Stage stage) { comboBox = new ComboBox<>(); comboBox.getItems().addAll("Option 1", "Option 2", "Option 3"); popup = new Popup(); popup.getContent().add(new Label("Menu Item 1\nMenu Item 2\nMenu Item 3")); comboBox.setOnAction(e -> { if (comboBox.getSelectionModel().getSelectedItem().equals("Option 1")) { Bounds bounds = comboBox.localToScreen(comboBox.getBoundsInLocal()); double x = bounds.getMinX(); double y = bounds.getMaxY(); popup.show(comboBox, x, y); } }); StackPane root = new StackPane(comboBox); Scene scene = new Scene(root, 300, 200); stage.setScene(scene); stage.show(); } public static void main(String[] args) { launch(args); } } ``` 这个程序创建了一个下拉框,当选择其中的"Option 1"时,会弹出一个包含三个菜单项的弹出窗口。可以根据需要修改弹出窗口的内容和位置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值