java 怎么去JTF边框,关于java:我怎样才能摆脱“静态”?
本问题已经有最佳答案,请猛点这里访问。
这是我的代码:
public class Main extends JFrame{
static int NoOfUsers;
static String[][] Accounts = new String[NoOfUsers][2];
public static void main(String[] args){
Login();
}
private static void Login() {
final String FileName ="F:/TextFiles/loginaccs.txt";
try {
BufferedReader file = new BufferedReader(new InputStreamReader(new FileInputStream(FileName)));
int NoOfUsersL = Integer.parseInt(file.readLine());
String[][] Accounts = new String[NoOfUsersL][2];
NoOfUsers = NoOfUsersL;
for (int i=0; i
Accounts[i][0] = file.readLine();
Accounts[i][1] = file.readLine();
}
for (int i=0; i
System.out.println(Accounts[i][0]);
System.out.println(Accounts[i][1]);
}
file.close();
} catch (IOException e) {
System.out.println("ERROR: unable to read file.");
e.printStackTrace();
}
String username = null;
String password = null;
JTextField usernamejtf = new JTextField(username);
JPasswordField passwordjtf = new JPasswordField(password);
String[] buttons = {"Login","Create new account"};
Object[] InputDialog = {
"Username:", usernamejtf,"Password:", passwordjtf
};
do {
int option = JOptionPane.showOptionDialog(null,
InputDialog,
"Login",
JOptionPane.DEFAULT_OPTION,
JOptionPane.PLAIN_MESSAGE,
null,
buttons,
buttons[0]);
System.out.println(option); //Check
if (option == JOptionPane.CLOSED_OPTION ) {
return;
}
else if (option == 0) {
if (CheckAccount(username,password)) {
System.out.println("Logged in");
} else {
System.out.println("Wrong Password/Username");
}
} else if (option == 1) {
System.out.println("Create Account.");
}
} while (!(CheckAccount(username,password)));
}
private static boolean CheckAccount(String username, String password) {
for (int i=0; i>NoOfUsers; i++) {
if ((username == Accounts[i][0]) && (password == Accounts[i][1])) {
return true;
}
}
return false;
}
}
在"main"中,我调用了login()方法,Eclipse强迫我将单词"static"放在方法名前面。我是否可以修改程序,使行可以写为:private void login()…私有布尔支票帐户(…)…等?
[附加问题:因为"static"这个词,我不能把"public"这个词放在string[]accounts=new string[noolfusersl][2]之前;这使得checkaccount无法访问accounts数组。如何修改程序以解决此问题。]提前通知大家。
您必须创建一个EDOCX1的实例(0),以便将方法用作实例方法。
它强迫您使用static,因为非静态方法属于instance,而不是class。您必须创建一个Main的实例。
回答额外的问题:可以。静态变量也被称为类变量。局部变量不能声明为静态。
静态方法静态方法是呼叫(不知道安安审审法)的呼叫建立和呼叫从第一页第一类为as belowP></
public static void main(String[] args){
Main main = new Main();
main.login();
}
private void login() { //remove static from instance methods
哇,不知道这么简单,太多了。
为什么要将主实例存储在变量中?你浪费了记忆。
@b&lint内存与new Main()一起使用。把它保存在变量中并不像你说的那样重要。这个变量只是对它的引用。
@很抱歉,不客气。不要忘记调用setVisible方法来显示jframe,还需要使用setBounds来设置帧的大小和位置。
在静态qualifiers阶to remove方法,你必须让你的布尔变量的方法和实例变量。然后,你可以和你的呼叫login()JFrame对象实例化。P></
转换的方法也mixedcase /变量名称As to Java offical公约。恩,你把我# VB或C语言编程?P></
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
public class Main extends JFrame {
private static final long serialVersionUID = -105943237549003486L;
private int numOfUsers;
private String[][] accounts;
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
Main m = new Main();
m.login("F:/TextFiles/loginaccs.txt");
}
});
}
// Constructor, set up instance values here.
public Main() {
super();
}
private void login(final String fileName) {
try {
BufferedReader file = new BufferedReader(new InputStreamReader(new FileInputStream(fileName)));
numOfUsers = Integer.parseInt(file.readLine());
accounts = new String[numOfUsers][2];
for (int i = 0; i < numOfUsers; i++) {
accounts[i][0] = file.readLine();
accounts[i][1] = file.readLine();
}
for (int i = 0; i < numOfUsers; i++) {
System.out.println(accounts[i][0]);
System.out.println(accounts[i][1]);
}
file.close();
} catch (IOException e) {
System.out.println("ERROR: unable to read file.");
e.printStackTrace();
}
String username = null;
String password = null;
JTextField usernamejtf = new JTextField(username);
JPasswordField passwordjtf = new JPasswordField(password);
String[] buttons = {"Login","Create new account" };
Object[] InputDialog = {"Username:", usernamejtf,"Password:", passwordjtf };
do {
int option = JOptionPane.showOptionDialog(null, InputDialog,"Login", JOptionPane.DEFAULT_OPTION,
JOptionPane.PLAIN_MESSAGE, null, buttons, buttons[0]);
System.out.println(option); // Check
if (option == JOptionPane.CLOSED_OPTION) {
return;
} else if (option == 0) {
if (checkAccount(username, password)) {
System.out.println("Logged in");
} else {
System.out.println("Wrong Password/Username");
}
} else if (option == 1) {
System.out.println("Create Account.");
}
} while (!(checkAccount(username, password)));
}
private boolean checkAccount(String username, String password) {
for (int i = 0; i > numOfUsers; i++) {
if (username == accounts[i][0] && password == accounts[i][1]) {
return true;
}
}
return false;
}
}
使用:P></
public static void main(String[] args){
Main main = new Main();
main.login();
}
为什么需要将实例存储在变量中?你浪费了记忆。
@B&lint它无论如何都将存储在内存中,因为它是在启动线程中执行的。
给new Main().login();P></
You should naming约定后续变量和Java method should start,lowercase名称与字母。P></
java 怎么去JTF边框,关于java:我怎样才能摆脱“静态”?相关推荐
- java抠图边框颜色处理_【图】绝密!抠图去黑边的方法 抠图去黑边框的处理技巧...
我们平常在处理照片之后,会发现有黑边,看着非常不自然.抠图去黑边框是如何操作的呢?一般像ps这款软件操作起来会有一点复杂,需要在菜单栏里选择收缩像素,再反选删除,后者反选羽化删除.对于一些新手来说,还 ...
- java 操作execl添加边框
java 操作execl添加边框 使用poi导出execl时想要有网格的样式时,可以使用下面的方法进行对execl添加边框,下面的方法会保留原execl模板设置的样式 /*** 抽取的实现粗边框的方法 ...
- java swing setborder_Swing编程边框(Border)的用法总结
2. 下面列出程序的完整实现代码: Java示例: package Test; import java.awt.*; import javax.swing.*; import javax.swing. ...
- java设置界面边框,技术员教你解决Java 添加Word页面边框
电脑现已成为我们工作.生活和娱乐必不可少的工具了,在使用电脑的过程中,可能会遇到Java 添加Word页面边框的问题,如果我们遇到了Java 添加Word页面边框的情况,该怎么处理怎么才能解决Java ...
- Java PermGen 去哪里了?
Java PermGen 去哪里了? 原文链接:原文作者:Monica Beckwith 以下为本人翻译,仅用于交流学习,版权归原作者和InfoQ所有,转载注明出处,请不要用于商业用途 在Java虚 ...
- java中去字符串中的(全角)空格
在Java中去字符串首尾空格或去除所有空格的(包括全角)方法如下: /** * 去除字符串中所包含的空格(包括:空格(全角,半角).制表符.换页符等) * @param s * @return */ ...
- 去哪儿网北京Java开发一、二、HR面全部通过
10.20 一天面完三面 技术面 一面自我介绍,二面无 简要介绍项目以及项目过程中遇到的问题 项目拓展问题 Redis和MySQL缓存一致性问题和解决策略(旁路缓存 / 延时双删) Redis键删除策 ...
- Java 编写推箱子报告,推箱子游戏用java怎么去写
推箱子游戏用java怎么去写 发布时间:2020-06-22 16:31:07 来源:亿速云 阅读:100 作者:清晨 这篇文章将为大家详细讲解有关推箱子游戏用java怎么写,小编觉得挺实用的,因此分 ...
- 借3万去学了半年Java,但没找到工作,我要放弃Java吗?
最近几年,很多人,尤其学历不高的年轻人,看到别的同学等同龄人,去做高薪工程师.IT工程师了,自己也很羡慕.特别的,看着自己工资每月到手才小几千块,而人家去做了程序员的,居然月薪两三万甚至更高的,想想都 ...
- 写好规范 Java 代码去大厂!
头图 | CSDN 下载自东方 IC 作者 | sowhat1412 责编 | 张文 来源 | sowhat1412(ID:sowhat9094) 话不多说直接上干货,你我共勉. 构造器参数太多怎么 ...
最新文章
- Secure CRT 自动记录日志和时间戳功能配置
- 12 - Runtime实用的几个API
- spark-jar冲突解决方案
- 洛谷——P2871 [USACO07DEC]手链Charm Bracelet
- python无法安装pycurl_Python安装pycurl失败的解决方法
- javascript 性能 · 平稳退化、渐进增强
- Java基础---异常---turow和throws
- 自学python顺序-Django 学习顺序及入门要求?
- cisco的路由器上rip的被动接口,单播更新,水平分隔
- Python3 函数参数
- matlab如何获得一个二值掩码,1.3矩阵的掩码操作 - osc_uarhdl2n的个人空间 - OSCHINA - 中文开源技术交流社区...
- 无线通信与编码_Rake接收机_三种合并算法_MATLAB仿真代码
- ideal如何快速导入import_IntelliJ IDEA 自动导入包 快捷方式
- 编程学习视频网站汇总
- 3D Vision--生成空间任意圆柱及任意直线
- 氩弧焊机的电气图_氩弧焊机的工作原理以及接线图
- 33张你没看过的酷炫化学动图, 秒懂化学反应原理!
- 聚焦传统网络,学习SDN基础和案例
- 前端字体图标的使用(阿里、icomoon)
- 深入理解JVM4:内存结构篇(方法区)