Создание директории и определение операционной системы
void dirCreator(String fPath){
File file=new File(fPath);
if(!file.exists())file.mkdir();
}
Это Windows?
boolean isWindows() {
String os = System.getProperty("os.name").toLowerCase();
return (os.contains("win"));
}
Еще вариант посложнее и поуниверсальней:
public class Discriminator {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
if(isWindows()){
System.out.println("Это Windows.\n Версия: " + getOSVerion());
}else if(isMac()){
System.out.println("Это Mac OS.\n Версия: " + getOSVerion());
}else if(isUnix ()){
System.out.println("Это BSD или GNU/Linux.\n Версия: " + getOSVerion());
}else{
System.out.println("Неизвестная система");
}
}
public static boolean isWindows(){
String os = System.getProperty("os.name").toLowerCase();
//windows
return (os.contains("win"));
}
public static boolean isMac(){
String os = System.getProperty("os.name").toLowerCase();
//Mac
return (os.contains("mac"));
}
public static boolean isUnix (){
String os = System.getProperty("os.name").toLowerCase();
//linux or unix
return (os.contains("nix") || os.contains("nux"));
}
public static String getOSVerion() {
String os = System.getProperty("os.version");
return os;
}
}
SplashScreen(android)
Заставка для приложения.
package kalexal.kaa.advices;
import android.content.Intent;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class Splash extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
Intent intent=new Intent(Splash.this,MainActivity.class);
startActivity(intent);
finish();
}
},3000);
}
}
SplashScreen для десктопного приложения
public class Splash extends Application{
static SplashScreen mySplash;
public static void main(String[] args) throws Exception
{
mySplash=SplashScreen.getSplashScreen();
try
{
Thread.sleep(5000);
}
catch (InterruptedException ex)
{
ex.getMessage();
|
|
}
if (mySplash != null){
mySplash.close();
launch(ClassName.class, args);
}
}
@Override
public void start(Stage primaryStage) throws Exception {
throw new UnsupportedOperationException("Not supported yet.");
}
}
Проверка корректности ввода даты
Может проверять високосность года.
boolean inputCorrect(int n,int m,int l){
int days=0;
switch (l) {
case 1:
days = 30;
break;
case 2:
if (m % 4 == 0 && m % 100 != 0 || m % 400 == 0) days = 29;
else days = 28;
break;
case 3:
days = 31;
break;
case 4:
days = 30;
break;
case 5:
days = 31;
break;
case 6:
days = 30;
break;
case 7:
days = 31;
break;
case 8:
days = 31;
break;
case 9:
days = 30;
break;
case 10:
days = 31;
break;
case 11:
days = 30;
break;
case 12:
days = 31;
break;
default:
break;
}
if(l<1||l>12){
JOptionPane.showMessageDialog(null,"Некорректный номер месяца! Проверьте соответствие введённых данных.","ВНИМАНИЕ!",JOptionPane.WARNING_MESSAGE);
month.requestFocus();
return true;
}
else if (n>days||n==0){
JOptionPane.showMessageDialog(null,"Некорректное число месяца! Проверьте соответствие введённых данных.","ВНИМАНИЕ!",JOptionPane.WARNING_MESSAGE);
day.requestFocus();
return true;
}else if (m==0||m<1000||m>9999){
JOptionPane.showMessageDialog(null,"Номер года вне диапазона! Номер года должен быть в диапазоне от 1000 до 9999 включительно.","ВНИМАНИЕ!",JOptionPane.WARNING_MESSAGE);
year.requestFocus();
return true;
}else {
return false;
}
}
Генератор паролей
Может создавать пароли как из встроенных наборов символов, хранящихся в файле «combinations», так и из пользовательских наборов.
|
|
@FXML
private void passwordGenerateButton(ActionEvent event) {
int pasLength=0,pasQuantitet;
String argument,pas,multiPas="";
if(isNullInField(e1.getText())){
alertWindow("", "Укажите длину пароля.", "Ошибка");
e1.requestFocus();
return;
}
if(isNullInField(e2.getText())){
alertWindow("", "Укажите количество паролей.", "Ошибка");
e2.requestFocus();
return;
}
try{
pasLength=Integer.parseInt(e1.getText());
pasQuantitet=Integer.parseInt(e2.getText());
}catch(NumberFormatException ex){
ex.getMessage();
alertWindow("Некорректные данные!", "Введите целое число!", "Внимание!");
if(pasLength==0){
e1.requestFocus();
}
else {
e2.requestFocus();
}
return;
}
if(pasLength<1||pasLength>1000){
alertWindow("", "Длина пароля должна быть от 1 до 1000 символов.", "Ошибка");
e1.requestFocus();
return;
}
if(pasQuantitet<1||pasQuantitet>100){
alertWindow("", "Количество паролей должно быть от 1 до 100", "Ошибка");
e2.requestFocus();
return;
}
if(isNullInField(e.getText())){
argument=combinationsReader(cb.getSelectionModel().getSelectedIndex()+1);
}else{
argument=e.getText();
}
for(int i=0;i<pasQuantitet;i++){
pas=passwordCreator(argument,pasLength);
if("".equals(pas)){
alertWindow("Некорректный символ!", "Удалите все пробелы!","Внимание!");
e.requestFocus();
return;
}
multiPas+=pas+"\n";
}
text.setText(multiPas);
}
boolean isNullInField(String sField){
return sField==null||sField.trim().length()==0;
}
String passwordCreator(String s,int q){
String str="";
Random r=new Random();
char[]masSymbols=s.toCharArray();
for (int i=0;i<s.length();i++){
if (masSymbols[i]==' '){
|
|
return "";
}
}
for (int i=0;i<q;i++){
str+=masSymbols[r.nextInt(s.length())]+"";
}
return str;
}
String combinationsReader(int m){
String str="";
try {
InputStream is = ClassLoader.getSystemResourceAsStream("res/textes/combinations");
InputStreamReader isr = new InputStreamReader(is);
try (BufferedReader reader = new BufferedReader(isr)) {
for (int i=0;i<m;i++){
str=reader.readLine();
}
}
}
catch (IOException ex){
ex.getMessage();
}
return str;
}
Дата добавления: 2019-02-12; просмотров: 134; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!