北邮国院大二java mini project记录贴(三)

2022.5.24

        我!做!完!了!

        本来昨天就已经实现wordle小游戏的基本功能的,但是后续再查看老师发的小项目要求的时候,发现自己还有几个功能没实现,所以今天又改了一天——

    

    所以说,上学时不好好审老师的题,以后出来工作不仔细检查甲方的要求

        哎……真是……还好添加起来并不难                                                                                

        话不多说,让我们看看今天的代码——

package Mini;

public class Test8 {
	public static void main(String[] args) {
		System.out.println("HELLO WORLD!");
	}
}

虚晃一🔪(狗头保命 

       是这样的,由于昨天没发文章,所以这次的进度和上次相比有了巨大的飞跃,要是全在一个文章里讲完的话篇幅就太大了。所以这次我并不打算讲我写好的代码,但我会发一些做这个小项目时非常非常非常需要的几段代码,有的甚至重要到需要在代码中多次出现。

        这些代码不单单对这次的java小项目有用,对以后写别的项目也很有用,这也是我写文章的意义——因为我老是忘记学到的知识,每次需要用到知识点的时候又找不到了,找到又要重新理解学习一遍(◕ˇ∀ˇ◕)

(1)布局按钮

        我在网上搜到了一段,但是有点问题,它只能让两个及以上的按钮分布在对应的位置,比如给button1赋予south定位,它就在button2的南边,但是它的位置不能固定,具体内容请点击=>用相对方位布局按钮

        而我最后的界面是这样的

        所以想要达成这个初始界面的话,需要把代码改成这样

JFrame f = new JFrame("Wordle Game"); 
f.setSize(400,250);
f.setLocation(400,300);
f.setLayout(null);//为了重新布局按钮需要清空现有默认布局
		
JButton introd = new JButton("Instruction"); //添加按钮  	
introd.setBounds(30,140,100,30);//rb.setBounds(250,140,100,30);
f.add (introd);    
f.setVisible(true);

(2)点击按钮清空文本框里的内容

        其实思路就是点击了之后把TextField里的内容重置为null,这次是可以直接运行的完整代码

package Mini;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Test6 extends JFrame {
	JButton button = null;
	JTextField field = null;
	JPanel jp = null;//还能学学panel
	public Test6(){
		this.setTitle("");
		this.setSize(100, 100);
		this.setLocation(400,300);

		
		button  = new JButton("test");//button的
		button.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e) {
				field.setText("");
			}
		});
		
		field = new JTextField();
		field.setText("DQYDQYDQY");
		
		jp = new JPanel();
		this.getContentPane().add(jp);//?
		jp.add(button);
		jp.add(field);	
		
	}
	public static void main(String[] args){
		Test6 test = new Test6();
		test.setVisible(true);
	}
}

(3)点击“确认”可关闭当前窗口

         一般来说直接添加按钮,按钮会跟在现有文本后面。所以在添加按钮前要添加一个很长很长的空白文本,将她俩隔离开来

JLabel jl = new JLabel("                                                                                            ");
            		Font font0 = new Font("黑体", Font.PLAIN, 35);
            		jl.setFont(font0);
            		nochoose.add(jl);
                    JButton jbb=new JButton("确定");//这个!
            		jbb.setBounds(100,100,60,30);
            		nochoose.add(jbb);
            		jbb.addActionListener(new ActionListener(){
            			public void actionPerformed(ActionEvent e) {
            				nochoose.dispose();
            			}
            		});

(4)添加一个文本

        能用来添加文本的方式太多啦!

        代码1(container)

JDialog jd=new JDialog(jf,"JDialog窗体",true);
			Dialog1(){
 
				jd.setSize(300,200);
				
				Container c2=jd.getContentPane();//jd是dialog名
				c2.setLayout(null);
				JLabel jl=new JLabel("只是一个对话框");
				jl.setBounds(0,20,100,100);
				c2.add(jl);

 
				jd.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
 
			}

        界面1

        代码2(Jlabel,但一次只能输入一行)

JFrame f = new JFrame("Wordle Game"); 
		f.setLayout(new FlowLayout( FlowLayout.CENTER));		
		
		JLabel jl1 = new JLabel("Gameplay Instructions"); 
	
		Font font0 = new Font("黑体", Font.PLAIN, 35);
		
		jl1.setFont(font0);
		jl1.setForeground(new Color(46,45,205));
		f.add(jl1);

        界面2

        代码3(JTextArea,为了让一个地方出现不同的内容,用来获取list中的字符,然后append上去)

JTextArea area1 = new JTextArea(2,5);   			
			area1.setLineWrap(true);
			
			char[] cc=new char[5];
//			int cs;
			for(int i=0;i<list.size();i++) {
				System.out.println("eeee");
	            	cc[i]=list.get(i).getContentt();
//	            	cs=list.get(i).getSeatt();
			}
			
			String y=String.valueOf(cc);
			area1.append("=>"+y);
			f.add(area1);

        也有完整版的代码

package Mini;
import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.WindowConstants;
import javax.swing.text.DefaultCaret;

public class Test2 {
	public static void main(String args[]) {
		JTextArea textArea = new JTextArea();
		JFrame f = new JFrame();
		f.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
		DefaultCaret caret = new DefaultCaret() {
			public boolean isSelectionVisible() {
				return true;
			}
		};
		textArea.setCaret(caret);
		textArea.setFont(new java.awt.Font("Miriam Fixed", 0, 13));
		Color color = Color.BLUE;
// textArea.setBackground(color);
		textArea.setSelectedTextColor(color);
		f.getContentPane().add(new JScrollPane(textArea));
		f.pack();
		f.setVisible(true);
	}
}

        界面3

(4)菜单栏选择(这个我没用上,不过也很有用,完整的代码)

package Mini;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

public class Test4 extends JFrame implements ActionListener{
	private JMenuBar menubar;
	private JMenuItem menuItem,a,b;
	private JMenu menu,submenu;
	private JTextArea text;
	private JScrollPane scrollPane;
	public Test4(){
		super("Test4");
		setSize(400,300);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		Container cp = getContentPane();

		text = new JTextArea(5,30);

		scrollPane = new JScrollPane(text);
		cp.add(scrollPane,BorderLayout.CENTER);

		menubar = new JMenuBar();
		setJMenuBar(menubar);
		menu = new JMenu("文件");  //文件菜单
		menubar.add(menu);

		submenu = new JMenu("change color");
		submenu.addActionListener(this);
		submenu.setActionCommand("change color");
		menu.add(submenu);

		a = new JMenuItem("red");
		a.addActionListener(this);
		a.setActionCommand("red");
		submenu.add(a);
		b = new JMenuItem("blue");
		b.addActionListener(this);
		b.setActionCommand("blue");
		submenu.add(b);

		menuItem = new JMenuItem("标签");
		menuItem.addActionListener(this);
		menuItem.setActionCommand("标签");
		menu.add(menuItem);

		menu = new JMenu("编辑");  //编辑菜单
		menubar.add(menu);

	}
	public void actionPerformed(ActionEvent e) {
		String a = e.getActionCommand();
		if(a.equals("red")){
			this.text.setBackground(Color.RED);
		}
		if(a.equals("blue")){
			this.text.setBackground(Color.BLUE);
		}
	}

	public static void main(String []args){
		Test4 eg = new Test4();
		eg.setVisible(true);
	}
}

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: Javaproject是一个开源的Java编程练手项目,提供了许多具有挑战性的编程任务,适合Java初学者和中级开发人员进行练习和提高。如果你想下载Javaproject,可以在GitHub上搜索Javaproject并找到其代码库。在这里,你可以选择从该项目的主页或Github代码库中下载项目,也可以使用命令行工具,如git clone来获取代码库。下载后,你可以通过导入项目到Eclipse或其他Java开发工具中来开始使用JavaprojectJavaproject包含多个难度级别的编程任务和测试用例,通过完成这些任务,你可以提高自己的Java编程能力和经验。如果你在使用Javaproject时遇到困难或有任何问题,请查看项目的文档和问题解答,或向Javaproject的开发者社区求助。总之,Javaproject对于提升Java编程能力和经验非常有帮助,具有非常高的学习和练习价值。 ### 回答2: 如果您想要下载Java项目,首先需要确定您需要下载的项目类型和源代码类型。在确定项目类型之后,您可以使用GitHub等开源代码托管平台或者SourceForge等资源库下载您需要的Java项目。同时,您也需要查找项目的依赖项,确保您可以正确地编译和运行项目。 如果您是一位Java应用程序员,可以从Eclipse或其他Java IDE的开发环境中下载Java项目。这样,您可以通过Eclipse的用户界面自动化完成以下工作: - 导入已有的Java项目 - 编译Java项目 - 调试Java代码 - 导出Java项目 另外,各种涉及Java的开发环境,如Eclipse、NetBeans、IntelliJ IDEA等,还提供了一些工具,如版本控制管理、代码质量评估等。这些工具有助于Java项目团队协作开发和代码管理。 如果您是Java开发新手,您可以首先寻找相关的Java教程、文档和示例。在学习的过程中逐渐了解Java项目的基本架构和原理,并适当地下载一些小型Java项目来练习实践。在编码中注意代码规范,确保您的Java项目兼容性较强。 ### 回答3: javaproject是一个在Java编程语言中使用的开源项目。如果您需要下载javaproject,您可以前往官方网站或者GitHub上进行下载。只需搜索javaproject,就能找到一些相关的链接。 这个项目的典型用例包括:Java SE和Java EE应用程序开发、Java后端服务和Web服务开发以及与不同数据库的连接等等。下载javaproject支持您在Java编程方面的许多需要。 在下载javaproject之前,请确保您已经安装了Java SDK和IDE等必要的开发环境。此外,建议您阅读一些相关的文档和教程以加深对Java编程的了解,并利用Java社区中的一些资源和帮助来支持您的项目。无论您是一位新手还是一位有经验的Java程序员,下载javaproject都将为您提供许多方便和帮助,使您能够更好地开发Java应用程序和服务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值