❶ java怎样放两个按钮在窗体的正中间
JPanel 放入到BorderLayout.CENTER , 那么会自动填充满整个contentPane的中间, 而JPanel内部还是流式布局, 一行排满 自动换到下一行,从上到下. 所以按钮还是在最上面.
(把JPanel的背景色改成蓝色,就可以清晰的看到JPanel填满了窗口)
importjavax.swing.*;
{
publicJFDemo2(){
JPanelpane=newJPanel();
BoxLayoutlayout=newBoxLayout(pane,BoxLayout.X_AXIS);//水平的盒布局
pane.setLayout(layout);
JButtonmessageButton=newJButton("OK");
JButtoncloseButton=newJButton("Cancel");
pane.add(Box.createGlue());//挤占ok按钮和窗口左侧空间
pane.add(messageButton);
pane.add(Box.createHorizontalStrut(20));//按钮之间的水平距离
pane.add(closeButton);
pane.add(Box.createGlue());//挤占cancel按钮和窗口右侧空间
add(pane);
setTitle("Demo");//标题
setSize(320,230);//窗口大小
setLocationRelativeTo(null);//窗口居中
setDefaultCloseOperation(EXIT_ON_CLOSE);//窗口点击关闭时,退出程序
}
publicstaticvoidmain(String[]args){
newJFDemo2().setVisible(true);
}
}
总结: 推荐使用方法二,使用盒布局来实现.
一般不推荐使用绝对布局/空布局 来布局窗口, 因为不同的操作系统下显示的效果不完全一致.
并且还需要写大量的代码来计算组件的大小和位置, 当窗口放大和缩小时 还需要重新计算位置
❷ Java编程。比如在一个面板上有两个按钮,怎么实现分别点击这两个按钮然后弹出不同的窗口我的代码不
importjava.awt.Color;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JPanel;
publicclassTestextendsJFrame{
publicTest(){
this.setSize(400,300);
this.setLocationRelativeTo(null);//设置居中
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPaneljp=newJPanel();
finalJButtonjb1=newJButton("弹出蓝色");
JButtonjb2=newJButton("弹出青色");
jp.add(jb1);
jp.add(jb2);
//给第一个按钮添加监听
jb1.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
JFramejf=newJFrame();
JPaneljp=newJPanel();
jf.setSize(200,200);
jf.add(jp);
jp.setBackground(Color.blue);
jf.setLocationRelativeTo(jb1);
jf.setVisible(true);
}
});
//给第二个按钮添加监听
jb2.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
JFramejf=newJFrame();
JPaneljp=newJPanel();
jf.setSize(200,200);
jf.add(jp);
jp.setBackground(Color.cyan);
jf.setLocationRelativeTo(jb1);
jf.setVisible(true);
}
});
this.add(jp);
}
publicstaticvoidmain(Stringarg[]){
newTest().setVisible(true);
}
}
❸ 急!!!高分!java设计两个按钮,按下以后显示不同图形,帮我看下已经写了一半的程序
你的程序我帮你改完了,你看看吧.(运行后能达到你的要求)
importjava.awt.*;
importjava.applet.Applet;
importjavax.swing.*;
importjava.awt.event.*;
{
JButtonjr1;
JButtonjr2;
Stringresult="";
intn;
JPaneljp1=newJPanel();
MyPaneljp2=newMyPanel();
publicvoidinit(){
setSize(300,300);
setLayout(newBorderLayout());
jr1=newJButton("circle");
jr2=newJButton("square");
jp1.add(jr1);
jp1.add(jr2);
jp1.setOpaque(false);
add(jp1,BorderLayout.NORTH);
add(jp2,BorderLayout.CENTER);
jr1.addActionListener(this);
jr2.addActionListener(this);
}
publicvoidactionPerformed(ActionEvente){
if(e.getSource()==jr1){
n=1;
repaint();
}
if(e.getSource()==jr2){
n=2;
repaint();
}
}
classMyPanelextendsJPanel{
publicvoidpaint(Graphicsg){
showGraphics(g);
}
publicvoidshowGraphics(Graphicsg){
switch(n){
case1:
g.setColor(Color.blue);
g.drawOval(30,30,160,160);
break;
case2:
g.setColor(Color.orange);
g.fillRoundRect(30,30,160,160,20,120);
break;
}
}
}
}
❹ java作业:一个窗口两个按钮,按按钮分别出来不同的字。。。。。。大神帮忙啊。。。
代码如下:
importjavax.swing.*;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
publicclassHelloIFrame{
privatestaticJTextAreaarea;
publicstaticvoidmain(String[]args){
JFramejf=newJFrame();
jf.setTitle("JAVA");
jf.setBounds(500,200,300,300);
JPanelcon=newJPanel(null);
area=newJTextArea();
area.setLineWrap(true);
JScrollPanejp=newJScrollPane(area);
jp.setBounds(10,10,280,200);
con.add(jp);
JButtonhelloButton=newJButton("HELLO!");
JButtonclearButton=newJButton("JAVA");
helloButton.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEvente){
area.setText("");
area.append("Hello!"+" ");
}
});
clearButton.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEvente){
area.setText("");
area.append("JAVA!"+" ");
}
});
helloButton.setBounds(70,220,75,30);
clearButton.setBounds(150,220,75,30);
con.add(helloButton);
con.add(clearButton);
jf.add(con);
jf.setResizable(false);
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
如果满意请采纳!
❺ Java 两个按钮不同状态切换
一: 首先对需求进行分析:
两个不同的按钮,
两个事件接收器,
当按钮被点击后, 事件接收器接受到点击信息, 然后进行事件处理逻辑--->修改按钮的状态
二: 其次 对需要用的知识进行分析
A. 按钮状态的设置
按钮的状态----->不可见----->通过设置属性是否可见实现
JButtonbutton1=newJButton("按钮一");
button1.setVisible(false);//设置为不可见的状态
按钮的状态----->不可用----->通过设置属性是否用实现
JButtonbutton2=newJButton("按钮二");
button2.setEnabled(false);//设置为不可用的状态
B. 事件的接收器的设置, 已经书写
一般使用匿名内部类来书写接收器, 以及处理代码
button.addActionListener(newActionListener(){//为按钮添加事件接收器
publicvoidactionPerformed(ActionEvente){
//这里写事件处理代码
}
});
三: 效果图
//导入所需要的包
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
{
//申明需要操作的按钮控件
privatefinalJButtonbutton1,button2;
publicFrameDemo(){
setTitle("按钮测试窗口");//设置窗口标题
setSize(220,80);//设置窗口的大小
setLocationRelativeTo(null);//设置窗口居于屏幕中央
setDefaultCloseOperation(EXIT_ON_CLOSE);//设置点击关闭时退出虚拟机
setLayout(newFlowLayout());//布局窗口为流式布局
button1=newJButton("按钮一");
button2=newJButton("按钮二");
button1.addActionListener(newActionListener(){//为按钮一设置事件接收器
publicvoidactionPerformed(ActionEvente){
button1.setVisible(false);//当按钮一被点击时,该按钮设置为不可见
}
});
button2.addActionListener(newActionListener(){//为按钮二设置事件接收器
publicvoidactionPerformed(ActionEvente){
button2.setEnabled(false);//当按钮二被点击时,该按钮设置为不可用
}
});
JPaneljp=newJPanel(newGridLayout(1,2));
jp.add(button1);
jp.add(button2);
add(jp);
}
publicstaticvoidmain(String[]args){
newFrameDemo().setVisible(true);//创建按钮窗口,并且设置为可见
}
}
五: 拓展思考
java 的源代码一般都遵循java 的规范,
属性的设置使用setXXX(...)方法
属性的获得使用getXxx(); 方法
使用的时候, 可以很方便的调用
所以, 我们平时开发java的时候也应该遵循java开发的规范. 会给我们的工作带来很多的便利
❻ 怎么用java实现在同一界面点击两个按钮进入两个不同界面
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
public class ButtonJFrame extends JFrame {
ButtonJFrame() {
super("ButtonJFrame");
JButton btnA = new JButton("打开FrameA");
JButton btnB = new JButton("打开FrameB");
this.setLayout(new BorderLayout());
this.getContentPane().add(btnA, BorderLayout.WEST);
this.getContentPane().add(btnB, BorderLayout.EAST);
btnA.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
new FrameA().setVisible(true);
}
});
btnB.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
new FrameB().setVisible(true);
}
});
this.setSize(320, 240);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
public static void main(String[] args) {
new ButtonJFrame();
}
class FrameA extends JFrame {
FrameA() {
super("FrameA");
this.setSize(160, 120);
}
}
class FrameB extends JFrame {
FrameB() {
super("FrameB");
this.setSize(160, 120);
}
}
}