「java手机界面设计」java中ui界面设计
本篇文章给大家谈谈java手机界面设计,以及java中ui界面设计对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、JAVA的图形界面的布局设计有哪些,各种布局的用法。
- 2、java 界面设计问题
- 3、如何用java的应用布局方法设计一个手机的界面
- 4、java界面设计
- 5、JAVA图形界面设计
- 6、Java 用户界面设计 求界面代码
JAVA的图形界面的布局设计有哪些,各种布局的用法。
基本有五种
BorderLayout 边界布局管理器
将容器分为东、南、西、北、中五个区域
分别用BorderLayout.SOUTH BorderLayout.NORTH BorderLayout.EAST BorderLayout.WEST BorderLayout.CENTER
FlowLayout 流式布局管理器
按照组件的添加顺序将组件从左到右放置在容器中。允许左对齐、居中对齐、或右对齐
GridLayout网格布局管理器
将容器分割成多行多列 按照组件添加的顺序一次讲组件从左到右放置
GridBagLayout网格包布局管理器
允许组件中各个组件的大小各不相同
CardLayout 卡片布局管理器
将界面看成一些列的卡片,每一个卡片都有一个容器,任何时候只有一张卡片时可见的
构造方法有CradLayout()和CradLayout(int hgap,int vgap)
参数hgap表示卡片和容器的左右边界之间的间隙,参数vgap表示卡片和容器的上下边界之间的间隙
java 界面设计问题
static int xOld = 0;
static int yOld = 0;
public static void main ( String[] args )
{
final JFrame frame=new JFrame();//创建窗体对象
frame.setBounds(0, 0, 500, 500);
frame.setUndecorated(true);//设置无边框
//鼠标点击,获取当前鼠标点击坐标
frame.addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
xOld = e.getX();
yOld = e.getY();
}
});
//鼠标移动事件
frame.addMouseMotionListener(new MouseMotionAdapter() {
public void mouseDragged(MouseEvent e) {
int xOnScreen = e.getXOnScreen();
int yOnScreen = e.getYOnScreen();
int xx = xOnScreen - xOld;
int yy = yOnScreen - yOld;
frame.setLocation(xx, yy);
}
});
//顶部panel
JPanel panel=new JPanel();
frame.add(panel,BorderLayout.NORTH);
panel.setLayout(new BorderLayout());
JButton closeLabel= new JButton("X");
panel.add(closeLabel,BorderLayout.EAST);
closeLabel.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
frame.dispose();//关闭窗体
}
});
frame.setVisible(true);
}
写了个简单例子,无边框设置和,点击鼠标后窗体跟随鼠标移动事件和关闭按钮关闭窗体,里面功能布局楼主自己去完成吧
如何用java的应用布局方法设计一个手机的界面
数字键和取消已实现
毕竟不是手机不知道要什么功能
所以只实现了这些
import java.awt.Button;
import java.awt.GridLayout;
import java.awt.Panel;
import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
public class Mobilephone extends JFrame {
TextArea ta = new TextArea(10,21);
Button[] jb = new Button[12];
Button jbAnswer = new Button("接听");
Button jbRefuse = new Button("拒绝");
Button jbUp = new Button("向上");
Button jbDown = new Button("向下");
Button jbOk = new Button("选择");
Button jbCancel = new Button("取消");
Button jbMenu = new Button("菜单");
Mobilephone(){
jb[10] = new Button("*");
jb[11] = new Button("#");
for(int i =0;i10;i++){
String label =i+"";
System.out.println(label);
jb[i]=new Button(label);
jb[i].addActionListener(new MyButton());
}
jb[10].addActionListener(new MyButton());
jb[11].addActionListener(new MyButton());
jbCancel.addActionListener(new Cancel());
setSize(200,400);
setLayout(new GridLayout(2,1));
Panel pup = new Panel();
pup.add(ta);
Panel pdown = new Panel(new GridLayout(2,1));
Panel p1 = new Panel(new GridLayout(2,3));
p1.add(jbOk);
p1.add(jbMenu);
p1.add(jbCancel);
p1.add(jbAnswer);
Panel pc = new Panel(new GridLayout(2,1));
pc.add(jbUp);
pc.add(jbDown);
p1.add(pc);
p1.add(jbRefuse);
pdown.add(p1);
Panel p2 = new Panel(new GridLayout(4,3));
for(int i=1;i10;i++){
p2.add(jb[i]);
}
p2.add(jb[10]);
p2.add(jb[0]);
p2.add(jb[11]);
pdown.add(p2);
add(pup);
add(pdown);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private class MyButton implements ActionListener{
public void actionPerformed(ActionEvent e) {
Button but = (Button)e.getSource();
String exp = ta.getText();
exp = exp+ but.getLabel();
ta.setText(exp);
}
}
private class Cancel implements ActionListener{
public void actionPerformed(ActionEvent e) {
String str = ta.getText();
ta.setText(str.substring(0,str.length()-1));
}
}
public static void main(String[] args) {
new Mobilephone();
}
}
java界面设计
package jisuanqi_new;
import java.awt.*;
import java.awt.event.*;
public class JiSuanQi_new implements ActionListener
{
Panel p1;//声明面板p1
TextField t1;//声明文本行t1
String[] label = {"7","8","9","/","4","5","6","*","1","2","3","-","0",".","=","+"};//声明标签数组label1存放按钮上的标签
Button[] b;//声明按钮数组存放16个按钮
private int i;//声明i以备后用
private String op1 = "0";//运算数备用
private String operator = "+";//运算符备用
private boolean append = false;//备用
public JiSuanQi_new()//构造方法
{
t1=new TextField();//初始化文本行t1
b = new Button[label.length];//初始化按钮数组b
p1=new Panel();//初始化面板p1
p1.setLayout(new GridLayout(4,4,4,4));//使面板选择网格布局管理器以备储存16个按钮(4行4列)
for(int i=0;ib.length;i++)//利用for循环把标签放在按钮上,使每个按钮添加事件监听器,在面板p1上添加上16个按钮
{
b[i] = new Button(label[i]);//把标签依次放在16个按钮上
b[i].addActionListener(this);//使每个按钮添加动作事件监听器
p1.add(b[i]); //分别将按钮添加到面板p1上
}
Frame f=new Frame("计算器1.0");//初始化窗口f,起名字计算器1.0
f.setLayout(new BorderLayout());//为窗口选择边界布局管理器
f.add(BorderLayout.NORTH,t1);//把文本行他添加到窗口的北部
f.add(BorderLayout.CENTER,p1);//把面吧p1添加到窗口的中间
f.addWindowListener(new WindowAdapter(){//给窗口f添加窗口事件监听器
public void windowClosing(WindowEvent eve){//运行窗口关闭方法
System.exit(0);//退出程序
}
});
f.setSize(250, 250);//设置窗口大小
f.setLocation(200,200);
f.setVisible(true);//显示窗口
}
public static void main(String args[])
{
new JiSuanQi_new(); //调用构造方法
}
public void actionPerformed(ActionEvent ae)
{//按钮被操作发生
String comm = ae.getActionCommand();//返回与此动作相关的命令字符串,即:使用者第一次点击的按钮是什么。
if("0123456789".indexOf(comm)!=-1)//如果相关命令字符串为0~9之间的数字则执行
{
if(append){
String temp = t1.getText();//新数字
t1.setText(temp+comm);
}else{ //因为此时append为false执行这个
t1.setText(comm); //将文本行t1设置为相关命令字符串(你按中的按钮代码)
append = true;//此时append=true若继续按按钮若继续按数字的话1.第一次的按话不会改变2.非第一次按得话会覆盖之前按得数字(即缺点:只能进行单个数字的计算)
}
}
else if(("+-*/".indexOf(comm)!=-1))//如果相关命令字符串为+-*/之间的数字则执行
{
//保存
//t1.setText(comm);
op1 = t1.getText();//把第一个数赋值给op1
operator = comm;//把命令字符串赋值给operator
append = false;//此时append为false即若继续按按钮若按数字的话将重复上面的动作,按符号的话将覆盖之前的符号
}
else if("=".equals(comm))//如果按的是=号,则按条件进行下面的运算
{
String op2 = t1.getText();//op2第二个数
double d1 = Double.parseDouble(op1);
double d2 = Double.parseDouble(op2);
if(operator.equals("+")){
d1 = d1 + d2 ;
}else if(operator.equals("-")){
d1 = d1 - d2;
}else if(operator.equals("*")){
d1 = d1 * d2;
}else {
d1 = d1 / d2;
}
t1.setText(d1+"");//显示计算结果
append = false;
}
else if(".".equals(comm))//若是.号继续按
{
String temp = t1.getText();
if(temp.indexOf(".")==-1){
t1.setText(temp+".");
append = true;
}
}
}
}
JAVA图形界面设计
在awt/swing里绘制圆形的方法是
g.drawOval(x, y,width, height);
x,y代表外接正方形的左顶点坐标
width和height相同是就是圆形.代表直径
参考代码
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class TestFrame extends JFrame {
public TestFrame() {
add(new CirclePanel());
setSize(300, 230);
setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new TestFrame().setVisible(true);
}
//绘制图形的面板
class CirclePanel extends JPanel {
int R=50;//直径
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.setColor(Color.BLUE);//设置颜色为蓝色
g.drawOval(80, 30, R, R);//圆形外接矩形的左顶点坐标是80,30;
g.setColor(Color.BLACK);
g.drawOval(120, 30, R, R);
g.setColor(Color.RED);
g.drawOval(160, 30, R, R);
g.setColor(Color.YELLOW);
g.drawOval(100, 65, R, R);
g.setColor(Color.GREEN);
g.drawOval(140, 65, R, R);
g.setColor(Color.BLUE);//设置颜色为蓝色
g.setFont(new Font("宋体",Font.BOLD,22));//设置字体
g.drawString("奥运五环旗", 90, 160);
}
}
}
Java 用户界面设计 求界面代码
一: 首先弄清题目的意思
A.需要的主要组件列表:
1. 创建一个窗口,窗口标题叫Information
2. 3个标签, 用于显示文字 Name Number Class
3. 3个文本框, 用于填写信息
4. 1个按钮, 文字是确认
5. 1个文本域
B.业务逻辑
1. 当点击按钮确认的时候, 把 文本框的信息显示到文本域
C.设计的主要技术
JLabel , JButton, JTextField ...等, 都是swing的组件 , 所以应该使用swing进行创建
二: 确定使用的布局
swing虽然重写了大部分的组件, 但是布局, 依旧沿袭awt技术
分析图片上的布局:
至少有2种方法可以实现,
方法一: 绝对布局 , 优点: 配合可视化GUI拖曳, 可以完美的实现图上的组件的位置
但是缺点也是致命的, 不同的操作系统平台下, 可能会出现位置的移动,
只适合开发平台, 移植效果差 . 所以不推荐使用
方法二: 灵活的表格布局, 配合流式布局 , 所有操作系统下,显示效果都比较统一.
三: 效果图
四: 参考代码
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class FrameDemo extends JFrame {
//申明需要的组件
private final JTextField jtf1,jtf2,jtf3;
private final JTextArea jta;
public FrameDemo() {
setTitle("Information");//设置窗口标题
setSize(320, 360);//设置窗口大小
setLocationRelativeTo(null);//设置窗口居中
setDefaultCloseOperation(EXIT_ON_CLOSE);//设置关闭时退出虚拟机
getContentPane().setLayout(new FlowLayout());//设置窗口布局为流式布局
JPanel jp = new JPanel(new GridLayout(4, 2));//设置jp面板为表格布局4行2列
//第一行
JPanel jp01 = new JPanel();
JLabel jl1 = new JLabel("Name:");
jp01.add(jl1);
JPanel jp1 = new JPanel();
jtf1 = new JTextField(8);
jp1.add(jtf1);
//第二行
JPanel jp02 = new JPanel();
JLabel jl2 = new JLabel("Number:");
jp02.add(jl2);
JPanel jp2 = new JPanel();
jtf2 = new JTextField(8);
jp2.add(jtf2);
//第三行
JPanel jp03 = new JPanel();
JLabel jl3 = new JLabel("Class:");
jp03.add(jl3);
JPanel jp3 = new JPanel();
jtf3 = new JTextField(8);
jp3.add(jtf3);
//第四行
JPanel jp04 = new JPanel();
JLabel jl4 = new JLabel("");
jp04.add(jl4);
JPanel jp4 = new JPanel();
JButton jb = new JButton("确认");
jp4.add(jb);
jp.add(jp01);
jp.add(jp1);
jp.add(jp02);
jp.add(jp2);
jp.add(jp03);
jp.add(jp3);
jp.add(jp04);
jp.add(jp4);
getContentPane().add(jp);
jta = new JTextArea();
jta.setColumns(20);//设置文本域的大小
jta.setEditable(false);//设置文本域不可编辑
jta.setBackground(jp.getBackground());//设置文本域的背景色和面板一样
getContentPane().add(jta);
jb.addActionListener(new ActionListener() {//给按钮添加事件
public void actionPerformed(ActionEvent e) {//点击按钮,显示信息到文本域
String name = jtf1.getText();
String number = jtf2.getText();
String clazz = jtf3.getText();
jta.setText("You name is "+name+" number is "+number+" class is "+clazz);
}
});
}
public static void main(String[] args) {
new FrameDemo().setVisible(true);//创建窗口,被设置为可见
}
}
五: 拓展
虽然图形界面的实现方法是多样的, 我们一定要根据具体情况, 选择一个比较优化的 合理的, 符合业务逻辑的实现方法
关于java手机界面设计和java中ui界面设计的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-30,除非注明,否则均为
原创文章,转载请注明出处。