GUI

说到Java和C++最大的区别,我能想到的就是GUI了(即Graphical User Interface用户图形界面),这部分内容是最新颖的,从未接触的,所以特地分开来记录;

GUI用到的类主要有javax.swing.*   java.awt.*.主要通过按钮(button),标签(label),面板(panel),框架(frame)来构造图形;


1、显示信息文本: JOptionPane.showMessageDialog(null,"Hello World");  还有另一种方式,不过这里只介绍简单的那种。



2、从输入对话框获取输入:(String input = )JOptionPane.showInputDialog("Enter an input") ,结果如图




3、确认对话框: int option = JOptionPane.showConfirmDialog(null,"Continue");

点击YES返回0,No返回1,Canc返回2;

  


4、确认对话框的应用:控制循环

import javax.swing.*;
import java.util.*;
import java.awt.Graphics;
public class Main{
	public static void main(String [] args){
		 int sum = 0;
		 int option = JOptionPane.YES_OPTION;
		 while(option == 0){
			 String dataString = JOptionPane.showInputDialog("Enter a integer");
			 int data = Integer.parseInt(dataString);
			 sum += data;
			 option = JOptionPane.showConfirmDialog(null,"Continue?");
			 
		 }
		 JOptionPane.showMessageDialog(null, "The sum is "+sum);
	}
}



用户点击YES,则循环持续进行,结果累加,否则,结束循环,输出结果。


5、文件对话框:涉及File类和Scanner类;

import java.io.FileNotFoundException;
import java.util.Scanner;
import javax.swing.JFileChooser;
public class File {

	public static void main(String[] args)  throws Exception {
		JFileChooser chooser = new JFileChooser();
		if(chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION)
		{java.io.File file = chooser.getSelectedFile();
		Scanner input = new Scanner(file);
		
		while(input.hasNext())
		{System.out.println(input.nextLine());
	}
		input.close();
	}
		else {
			System.out.println("No File selected");
		}

	}
}




当然,文件是打不开的。。。


6、简单说说Java GUI API

主要包括三类:组件类(component)、容器类(container)、辅助类(helper)








这部分还没完全掌握,所以我只能做个搬运工了~~~~


JFrame的用法及实例




3种布局管理器:

1)FlowLayout


所谓的指定对齐方式即左对齐和右对齐,例如可以用FlowLayout.LEFT实现左对齐。



2)GridLayout

与矩阵类似




3)BorderLayout




其他的Color类,Font类就不说了

最后的最后,分享一个易错的内容:

在使用图像时,用绝对路径当然没问题,但为了省时(偷懒),我们有时会使用相对路径,比如创建一个图标:

ImageIcon icon = new ImageIcon("image/us.gif");

因为我使用的是eclipse,所以这里以eclipse为例,eclipse是默认从当前项目开始扫描,即与src同一目录的文件

例如你的项目名为a,则路径为a/image/us.gif,这里的image文件夹应与src在同一目录下。


有关GUI的内容就这些了,作为一个新手,理解不当之处请见谅,有错之处请帮忙之处,谢谢~~~~



AI实战-泰坦尼克号生还可能性数据集分析预测实例(含19个源代码+59.76 KB完整的数据集) 代码手工整理,无语法错误,可运行。 包括:19个代码,共121.84 KB;数据大小:1个文件共59.76 KB。 使用到的模块: pandas numpy seaborn matplotlib.pyplot warnings sklearn.model_selection.train_test_split sklearn.ensemble.RandomForestClassifier sklearn.metrics.accuracy_score sklearn.metrics.confusion_matrix os scipy.stats sklearn.compose.ColumnTransformer sklearn.impute.SimpleImputer sklearn.preprocessing.OneHotEncoder sklearn.impute.KNNImputer sklearn.preprocessing.StandardScaler sklearn.ensemble.RandomForestRegressor sklearn.ensemble.GradientBoostingRegressor sklearn.metrics.classification_report sklearn.metrics.roc_auc_score sklearn.model_selection.cross_val_score sklearn.pipeline.Pipeline sklearn.model_selection.RandomizedSearchCV sklearn.ensemble.GradientBoostingClassifier sklearn.linear_model.LogisticRegression sklearn.naive_bayes.GaussianNB sklearn.metrics.roc_curve xgboost.XGBClassifier sklearn.ensemble.AdaBoostClassifier sklearn.tree.DecisionTreeClassifier sklearn.preprocessing.LabelEncoder imblearn.over_sampling.SMOTE sklearn.svm.SVC sklearn.model_selection.GridSearchCV math sklearn.neighbors.KNeighborsClassifier sklearn.metrics.precision_score sklearn.metrics.recall_score sklearn.metrics.f1_score sklearn.metrics.ConfusionMatrixDisplay torch dataclasses.dataclass typing.List typing.Tuple typing.FrozenSet typing.Set typing.Dict fcapy.lattice.ConceptLattice fcapy.lattice.formal_concept.FormalConcept fcapy.poset.POSet fcapy.visualizer.line_layouts.calc_levels sparselinear.SparseLinear sklearn.neural_network.MLPClassifier fcapy.context.FormalContext fcapy.visualizer.LineVizNx networkx sklearn.preprocessing.MinMaxScaler sklearn.ensemble.BaggingClassifier torch.nn torch.optim sklearn.datasets.load_iris
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值