下图是用java图形界面做的一个计算器界面,怎样让JButton中的字符全部显示出来啊?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了下图是用java图形界面做的一个计算器界面,怎样让JButton中的字符全部显示出来啊?相关的知识,希望对你有一定的参考价值。
参考技术A 按钮太小了,显示不出来的,汉字本身就很大,所以你可以尝试换为英文字母来代替,如‘确定’可以用E(Enter)代替,然后添加一个工具提示的效果,就是当鼠标移到上面 的时候,可以显示很粗具体的名称,如鼠标移动到E 按钮上时,就会在旁边出现一个提示框,显示“确定”字样,就像是提示该按钮的用法,你用其他 的软件事都有体会吧。。。具体可以网上查查,好长时间没写过这样的界面了。顺便在问一下:
你的计算器实现了哪些功能,就是简单的计算吗?如计算2+3*5, 先计算3*5,然后再+2 。
那可不可以计算一个表达式求值呢?比如之间输入刚才的表达式,然后求值。这个不好实现,前一段时间我看到了他的算法,其实我以前没注意到,就是在《数据结构》那本书中有讲到,在将堆栈时,表达式求值就是堆栈的一个应用,还有一个就是括号匹配,这也是堆栈的应用,你可以自己好好的研究一下,这两个应用的话用处还是蛮大的。 参考技术B 界面大一点追问
界面不能再大了 ,计算器的界面大了就不好看哦。。
追答JButton jb=new JButton("确定");
Font f=new Font("宋体",Font.BOLD,16);//根据指定字体名称、样式和磅值大小,创建一个新 Font。
jb.setFont(f);
我之前在网上找的就是这个方法 ,可是还是不行啊....
说明你设置的还不够小啊
追问什么设置得还不够小,我是初学者,还不懂啊....
追答Font f=new Font("宋体",Font.BOLD,16);
16代表字体大小啊,你改小点啊,比如10
字太小了也不好看哦,你看看这个图,是不是要把中间的那个虚线框调大哦,就想css中的margin属性那种原理...
JButton b = new JButton("Submit");
b.setMargin(new java.awt.Insets(0,0,0,0));
啊 还是控制不了啊..........
本回答被提问者采纳怎样用java编写图形界面的Application程序
包括分别用于输入字符串和浮点数的两个TextField,以及两个按钮(一个是“输入”按钮,一个是“输出”按钮)和一个TextArea。用户在两个TextField中输入数据并单击“输入”按钮后,程序把这两个数据保存入一个文件file.dat中,单击“确定”按钮,则把这个文件的内容显示在TextArea中。
java编写图形界面需要用到swing等组件,可以在eclipse中安装windowbuilder来开发窗体,自动生成窗体代码,然后自己再根据需要修改,如:
package mainFrame;
import java.awt.EventQueue;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.border.EmptyBorder;
public class Mian_login extends JFrame
private JPanel contentPane;
private JTextField text_LoginName;
private JPasswordField Login_password;
/**
* Launch the application.
*/
public static void main(String[] args)
EventQueue.invokeLater(new Runnable()
@Override
public void run()
try
Mian_login frame = new Mian_login();
frame.setVisible(true);
catch (Exception e)
e.printStackTrace();
);
/**
* Create the frame.
*/
public Mian_login()
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(500, 200, 443, 300);
setResizable(false);
setTitle("登 录");
/*获取系统按钮样式*/
String lookAndFeel = UIManager.getSystemLookAndFeelClassName();
try
UIManager.setLookAndFeel(lookAndFeel);
catch (ClassNotFoundException e1)
e1.printStackTrace();
catch (InstantiationException e1)
e1.printStackTrace();
catch (IllegalAccessException e1)
e1.printStackTrace();
catch (UnsupportedLookAndFeelException e1)
e1.printStackTrace();
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
JPanel panel = new JPanel();
panel.setOpaque(false);
panel.setBounds(0, 0, 434, 272);
contentPane.add(panel);
panel.setLayout(null);
JButton btn_Login = new JButton("\\u767B\\u5F55");
btn_Login.addMouseListener(new MouseAdapter()
@Override
public void mouseClicked(MouseEvent e)
);
btn_Login.setBounds(88, 195, 70, 23);
panel.add(btn_Login);
JButton btn_cancel = new JButton("\\u53D6\\u6D88");
btn_cancel.addMouseListener(new MouseAdapter()
@Override
public void mouseClicked(MouseEvent e)
dispose();
);
btn_cancel.setBounds(268, 195, 70, 23);
panel.add(btn_cancel);
JLabel lblNewLabel_name = new JLabel("\\u7528\\u6237\\u540D");
lblNewLabel_name.setHorizontalAlignment(SwingConstants.CENTER);
lblNewLabel_name.setOpaque(true);
lblNewLabel_name.setBounds(88, 48, 70, 23);
panel.add(lblNewLabel_name);
JLabel lblNewLabel_passwd = new JLabel("\\u5BC6\\u7801");
lblNewLabel_passwd.setHorizontalAlignment(SwingConstants.CENTER);
lblNewLabel_passwd.setOpaque(true);
lblNewLabel_passwd.setBounds(88, 102, 70, 23);
panel.add(lblNewLabel_passwd);
JCheckBox chckbx_remember = new JCheckBox("\\u8BB0\\u4F4F\\u5BC6\\u7801");
chckbx_remember.setBounds(102, 150, 84, 23);
panel.add(chckbx_remember);
text_LoginName = new JTextField();
text_LoginName.setBounds(182, 48, 156, 23);
panel.add(text_LoginName);
text_LoginName.setColumns(10);
Login_password = new JPasswordField();
Login_password.setBounds(182, 102, 156, 23);
panel.add(Login_password);
JCheckBox chckbx_AutoLogin = new JCheckBox("\\u81EA\\u52A8\\u767B\\u5F55");
chckbx_AutoLogin.setBounds(233, 150, 84, 23);
panel.add(chckbx_AutoLogin);
JLabel Label_background = new JLabel("");
Label_background.setIcon(new ImageIcon("E:\\\\JAVA_workplace\\\\0002-\\u754C\\u9762\\u8BBE\\u8BA1\\\\images\\\\background3.jpg"));
Label_background.setBounds(0, 0, 437, 272);
contentPane.add(Label_background);
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class liangeran extends Frame implements ActionListener
/**
* @param args
*/
TextField stringText;
TextField floatText;
TextArea textArea;
Button inputButton;
Button outputButton;
byte bytes[]=new byte[65560];
public liangeran()
setTitle("实现文本框的存取");
setSize(380,380);
setVisible(true);
setLayout(new FlowLayout());
setResizable(false);
setTextField();
setButton();
setTextArea();
addWindowListener(new WindowAdapter()
public void windowClosing(WindowEvent e)
System.exit(0);
);
validate();
private void setTextArea()
textArea=new TextArea(15,45);
add(textArea);
private void setButton()
inputButton=new Button("输入");
outputButton=new Button("输出");
inputButton.addActionListener(this);
outputButton.addActionListener(this);
add(inputButton);
add(outputButton);
private void setTextField()
stringText=new TextField("请输入字符串:",45);
floatText=new TextField("请输入浮点型数字:",45);
add(stringText);
add(floatText);
public static void main(String[] args)
new liangeran();
public void actionPerformed(ActionEvent e)
File myFile=new File("file.dat");
if(e.getSource()==inputButton)
String allText=stringText.getText()+"\n"+floatText.getText();
try
FileOutputStream fileout=new FileOutputStream(myFile);
bytes=allText.getBytes();
fileout.write(bytes, 0, bytes.length);
catch(Exception exception)
System.out.println(exception.getMessage());
if(e.getSource()==outputButton)
try
textArea.append(new String(bytes));
catch(Exception exception)
System.out.println(exception.getMessage());
注:这是从我同学那里的得到的源代码咯! 参考技术B 用netbeanszuo界面就行,那个和vb一样,组件都是现成的,直接用鼠标托到框架里界面就有了,你所要做的只是填参数和写事件处理。 参考技术C
java编写图形界面需要用到swing等组件,可以在eclipse中安装windowbuilder来开发窗体,自动生成窗体代码,然后自己再根据需要修改,如:
package mainFrame;
import java.awt.EventQueue;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame。
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
参考技术D 采用applet,在这里不可能把程序全部贴出来,楼主若需要可联系偶以上是关于下图是用java图形界面做的一个计算器界面,怎样让JButton中的字符全部显示出来啊?的主要内容,如果未能解决你的问题,请参考以下文章