下图是用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);


参考技术A package lea;

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中的字符全部显示出来啊?的主要内容,如果未能解决你的问题,请参考以下文章

怎样用winform弄出漂亮的ui界面(类似酷狗、360)?貌似winform始终是一种框架(下图),是否这样的?

用Java语言设计一个界面,

求Java计算器标准的布局代码

JAVA图形界面,怎么让背景图片正好充满JFrame?

java学习笔记2

如何让树莓派默认启动进入图形界面