JButton有趣问题 哥么我刚刚学习java,老师说在java2中,frame的显示语句用setvisible()吧,我说的不一定对呀别见怪 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我的java不怎么样,你要的画面我写出来了,不过不知道所以然。谁知道解释吧import java.awt.*;import javax.swing.*;class Untitled1 extends JFrame { JButton button; public Untitled1() { button = new JButton(); button.setText("1"); button.setFont(new Font("cur",Font.PLAIN,9)); button.setBounds(0, 0, 36, 36); JPanel buttonBox = new JPanel(); buttonBox.setBorder(null); buttonBox.add(button); this.getContentPane().add(buttonBox,"West"); setSize(300, 400); } public static void main(String args[]) { JFrame nn = new Untitled1(); nn.setVisible(true); }} 其实你可以用button.setLocation(0,0,30,30);来设置按钮的位置。 谢谢指点啊,可是我要的不是你说的那样的效果。以你的效果的话那大小不是36*36的啊!那是矩形啊。我要的是大小固定而且CAPTION也要显示出来。你认为呢楼上的yongjin(Slice)兄弟。还有用setLocation()没法设定按钮的大小的。还是没有解决问题的! 我试了试确实是这样建议放弃setBounds();改用gridbaglayout布局方式它可以控制大小也可以定义位置如果你现在这么做是为了布局的美观,也没必要这样以为对于位置,可以用一些面板来组合,不一定要用绝对定位,虽然这样比较容易理解和操作因为用现在这种方式设定了大小后,标题就无法显示可能是标题的显示空间和格式被这种大小给破坏了,而且它自己无法完成调整我试过用Flowlayout布局,可以显示数字,而且按纽大小和你设置的差不多,虽然不是矩形改用GridbagLayout布局,按纽可以按比例缩放,也可以定义位置应该对于标题的显示可以调整吧! 我自己把问题解决了啊!import javax.swing.*;import java.awt.*;public class SwingTest extends JFrame{ JButton button; public SwingTest(){ button=new JButton("1"); button.setFont(new Font("cur",Font.PLAIN,5)); getContentPane().setLayout(null); button.setBounds(0,0,30,30); button.setMargin(new Insets(0,0,0,0)); //关键点:这是让文字在上面的显示约束为0 getContentPane().add(button); setSize(300,400); show(); } public static void main(String args[]){ new SwingTest(); }}谢谢大家对我的支持啊!还有用GridLayout约束的时候按钮大小 小于35*35的时候字是没法显示的,只有用setMargin()方法才好使。 大神们、、、求帮助 关于按钮的问题 一些复杂的逻辑该放到service里还是放到对象里? java如何关闭一个在运行的exe文件 请帮忙解释一下,引用的问题. 怎样用java调用本地exe文件 [java 中文问题] 如何让swing的jtextfield 同其他组件正确显示用户输入的中文 html可以调用applet里面的方法吗? 走过不如路过:高分求助 正则表达式如何表示 或者 和 空格这两个意思? (急)如何得到Apache服务器的本地路径? 怎么定义button的大小?
画面我写出来了,不过不知道所以然。谁知道解释吧
import java.awt.*;
import javax.swing.*;class Untitled1
extends JFrame {
JButton button;
public Untitled1() {
button = new JButton();
button.setText("1");
button.setFont(new Font("cur",Font.PLAIN,9));
button.setBounds(0, 0, 36, 36);
JPanel buttonBox = new JPanel();
buttonBox.setBorder(null);
buttonBox.add(button); this.getContentPane().add(buttonBox,"West");
setSize(300, 400);
} public static void main(String args[]) {
JFrame nn = new Untitled1();
nn.setVisible(true);
}
}
那是矩形啊。我要的是大小固定而且CAPTION也要显示出来。
你认为呢楼上的yongjin(Slice)兄弟。
还有用setLocation()没法设定按钮的大小的。还是没有解决问题的!
确实是这样
建议放弃setBounds();
改用gridbaglayout布局方式
它可以控制大小也可以定义位置
如果你现在这么做是为了布局的美观,也没必要这样
以为对于位置,可以用一些面板来组合,
不一定要用绝对定位,虽然这样比较容易理解和操作
因为用现在这种方式设定了大小后,标题就无法显示
可能是标题的显示空间和格式被这种大小给破坏了,而且它自己无法完成调整
我试过用Flowlayout布局,可以显示数字,而且按纽大小和你设置的差不多,虽然不是矩形
改用GridbagLayout布局,按纽可以按比例缩放,也可以定义位置
应该对于标题的显示可以调整吧!
import java.awt.*;public class SwingTest extends JFrame{
JButton button;
public SwingTest(){
button=new JButton("1");
button.setFont(new Font("cur",Font.PLAIN,5));
getContentPane().setLayout(null);
button.setBounds(0,0,30,30);
button.setMargin(new Insets(0,0,0,0)); //关键点:这是让文字在上面的显示约束为0
getContentPane().add(button);
setSize(300,400);
show();
}
public static void main(String args[]){
new SwingTest();
}
}谢谢大家对我的支持啊!还有用GridLayout约束的时候按钮大小 小于35*35的时候字是没法显示的,只有用setMargin()方法才好使。