Fehler mit JScrollPane

S

Spellsleeper

Gast
Hallo,

ich möchte in einen Dialog ein JScrollPane einbauen, bekomme allerdings diese Fehlermeldung:
[WR]
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: invalid verticalScrollBarPolicy
at javax.swing.JScrollPane.setVerticalScrollBarPolicy(Unknown Source)
at javax.swing.JScrollPane.<init>(Unknown Source)
at main.KeyDialog.<init>(KeyDialog.java:119)
at main.MainFrame$7.actionPerformed(MainFrame.java:498)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: invalid verticalScrollBarPolicy
at javax.swing.JScrollPane.setVerticalScrollBarPolicy(Unknown Source)
at javax.swing.JScrollPane.<init>(Unknown Source)
at main.KeyDialog.<init>(KeyDialog.java:119)
at main.MainFrame$7.actionPerformed(MainFrame.java:498)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)[/WR]

Hier ist die Dialogklasse, ist leider schon etwas unübersichtlich geworden, der Fehler scheint im Konstruktor bei der Initialisierung sp1 und sp2 zu sein.

Java:
package main;
import javax.crypto.KeyGenerator;
import javax.swing.*;
import javax.swing.border.BevelBorder;
import javax.swing.border.LineBorder;
import javax.swing.filechooser.FileFilter;

import main.FileHandler.CryptType;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.lang.reflect.Array;
import java.security.Key;
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;

public class KeyDialog extends JDialog{
	
	JComboBox keyGenCombo;
	
	
	String val="AES";
	String keySize;
	JTextField targetField;
	String writeFile="C:/";
	String persKey;
	JButton keyIn;
	JCheckBox writeCheck;
	boolean auto=true;
	boolean keyInFile=true;
	JTextArea pubKeyField,priKeyField;
	KeyDialog kd;
	JPanel p2,p3,p1,p4;
	JLabel p3Label;
	JScrollPane sp1,sp2;
	
	
	public KeyDialog(JFrame parent,Point point) {
		super();
		
		kd=this;
		CryptType[] cTypes=FileHandler.CryptType.values();
		String[] values = new String[cTypes.length];
		for(int i=0;i<cTypes.length;i++){
			values[i]=cTypes[i].name();
		}
		Image icon=new ImageIcon("Pictures/key.png").getImage();
		setModal(true);
		setLocation(point.x-20,point.y-20);
		setTitle("Key-Erstellungsdialog");
		setSize(600,240);
		setIconImage(icon);
		setDefaultCloseOperation(DISPOSE_ON_CLOSE);
		p1=new JPanel();
		p1.setLayout(new GridLayout(4, 2,15,15));
		
		JLabel comLab=new JLabel("Schlüsselart:",JLabel.RIGHT);
		keyGenCombo=new JComboBox<>(values);
		keyGenCombo.addActionListener(auswählen);
		p1.add(comLab);
		p1.add(keyGenCombo);
		p1.add(new JLabel());
		
		
		writeCheck=new JCheckBox();
		writeCheck.setLabel("Schlüssel in Datei scheiben");
		writeCheck.addActionListener(writeCheckListener);
		p1.add(writeCheck);
		writeCheck.setSelected(true);
		
		targetField=new JTextField();
		targetField.setText("Wählen sie einen Zielpfad");
		targetField.setPreferredSize(new Dimension(300, 30));
		targetField.setToolTipText(targetField.getText());
		targetField.setEditable(false);
		p1.add(targetField);
		ImageIcon pathIco=new ImageIcon("Pictures/folder.png");
		JButton setPathButton=new JButton(pathIco);
		setPathButton.addActionListener(zielWählen);
		setPathButton.setToolTipText("Wählen sie den Zielpfad für ihre/n Schlüssel");
		p1.add(setPathButton);
		
		JButton runButton=new JButton("Schlüssel erstellen");
		runButton.addActionListener(runAction);
		p1.add(runButton);
		JButton abortButton=new JButton("Abbrechen");
		abortButton.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				KeyDialog.this.setVisible(false);
				KeyDialog.this.dispose();
			}
		});
		p1.add(abortButton);
		
		add(p1,BorderLayout.NORTH);
		//Panel mit dem JTextField für den Key/PublicKey
		p3=new JPanel();
		
		p3.setLayout(new BoxLayout(p3, BoxLayout.Y_AXIS));
		p3.setBorder(new LineBorder(Color.BLACK, 1));
		p3Label=new JLabel("Key",new ImageIcon("Pictures/keySmall.png"),JLabel.CENTER);
		p3.add(p3Label);
		pubKeyField=new JTextArea();
		pubKeyField.setLineWrap(true);
		pubKeyField.setSize(250,75);
		pubKeyField.setEditable(false);
		
		p3.add(pubKeyField);
		sp1=new JScrollPane(p3, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
		//Panel mit dem JTextField für den PrivateKey
		p4=new JPanel();
		
		p4.setLayout(new BoxLayout(p4, BoxLayout.Y_AXIS));
		p4.setBorder(new LineBorder(Color.BLACK, 1));
		p4.add(new JLabel("Private Key:",new ImageIcon("Pictures/keySmall.png"),JLabel.CENTER));
		priKeyField=new JTextArea();
		priKeyField.setLineWrap(true);
		priKeyField.setEditable(false);
		//sp2=new JScrollPane(priKeyField, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
		p4.add(priKeyField);
		sp2=new JScrollPane(p4, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
		p2=new JPanel();
		p2.setLayout(new BoxLayout(p2,BoxLayout.X_AXIS));
		p2.add(sp1);
		p2.add(sp2);
		add(p2,BorderLayout.CENTER);
		p2.disable();
		p2.setVisible(false);
		setVisible(true);
	}
	ActionListener runAction=new ActionListener() {
		
		@Override
		public void actionPerformed(ActionEvent e) {
			try {
				Key[] key = generateKey(val);
				
				if(key != null)
				{
					if(keyInFile)
						writeKeyToFile(key);
					
					
					//TODO Der Key muss mit einem Label ausgegeben werden
					removeKeyFields();
					setKeyFields(val);
					switch(key.length)
					{
					case 1:
						String keyString = Tools.getHexString(key[0].getEncoded());
						System.out.println("Der generierte "+val+" Schlüssel lautet (hexadezimal): "+keyString);
						pubKeyField.setText(keyString);
						break;
					case 2:
						String publicString = Tools.getHexString(key[0].getEncoded());
						String privateString = Tools.getHexString(key[1].getEncoded());
						System.out.println("Das generierte "+val+" Schlüsselpaar lautet (hexadezimal):");
						System.out.println("Public Key: "+publicString);
						System.out.println("Private Key: "+privateString);
						pubKeyField.setText(publicString);
						priKeyField.setText(privateString);
						break;
					}
				}
			}
			catch (Exception ex) {
				
				ex.printStackTrace();
			}

		}
	};
	
	private Key[] generateKey(String type) throws Exception
	{
		Key[] key = null;
		
		switch (type) {
		case "RSA":
			KeyPairGenerator pairgen = KeyPairGenerator
					.getInstance("RSA");
			SecureRandom secRand = new SecureRandom();
			pairgen.initialize(2048, secRand);
			KeyPair keyPair = pairgen.generateKeyPair();
			key = new Key[]{keyPair.getPublic(), keyPair.getPrivate()};
			break;
		case "AES":
		case "DES":
			KeyGenerator keygen = KeyGenerator.getInstance(val);
			SecureRandom random = new SecureRandom();
			keygen.init(random);
			key = new Key[]{keygen.generateKey()};
			break;	
		}
		return key;
	}
	
	private void writeKeyToFile(Key[] key) throws Exception
	{
		if(key != null)
		{
			FileOutputStream out;
			
			switch(key.length){
			case 1:
				out = new FileOutputStream(new File(writeFile+"/"+val+".key"));
				out.write(Tools.getHexString(key[0].getEncoded()).getBytes());
				out.flush();
				out.close();
				break;
			case 2:
				//public
				out = new FileOutputStream(new File(writeFile+"/"+val+"_public.key"));
				out.write(Tools.getHexString(key[0].getEncoded()).getBytes());
				out.flush();
				out.close();
				
				//private
				out = new FileOutputStream(new File(writeFile+"/"+val+"_private.key"));
				out.write(Tools.getHexString(key[1].getEncoded()).getBytes());
				out.flush();
				out.close();
				break;
			}
		}
	}
	
	
	ActionListener auswählen=new ActionListener() {
		
		@Override
		public void actionPerformed(ActionEvent e) {
			val=keyGenCombo.getSelectedItem().toString();
			System.out.println(val);
			
			
		}
	};
	ActionListener zielWählen=new ActionListener() {
		
		@Override
		public void actionPerformed(ActionEvent e) {
			JFileChooser jfc=new JFileChooser();
			jfc.addChoosableFileFilter(new KeyFileFilter());
			jfc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
			try{
				jfc.setCurrentDirectory(new File(MainFrame.writeFile));
			}catch(Exception ex){
				
			}
			int returnVal=jfc.showDialog(rootPane, "Wählen sie den Schlüssel-Zielpfad");
			
			if (returnVal == JFileChooser.APPROVE_OPTION) {
				writeFile = jfc.getSelectedFile().getAbsolutePath();
				targetField.setText(jfc.getSelectedFile().getAbsolutePath());

			}
			
		}
	};
	
	public class KeyFileFilter extends FileFilter{
		@Override
		public boolean accept(File f) {
			// TODO Auto-generated method stub
			return (f.isDirectory()||
					 f.getName().toLowerCase().endsWith(".key"));
		}

		@Override
		public String getDescription() {
			// TODO Auto-generated method stub
			return "Schlüsseldateien mit der Endung .key";
		}
	}
	
	ActionListener writeCheckListener=new ActionListener() {
		
		@Override
		public void actionPerformed(ActionEvent e) {
			if(writeCheck.isSelected()){
				keyInFile=true;
			}else{
				keyInFile=false;
			}
			
		}
	};
	public void setKeyFields(String type){
		switch(type)
		{
		case "RSA":
			
			setDoubleField();
			
			
			
			
			
			break;
		default:
			setLoneField();
			
		}
		//kd.setSize(500, 400);
		kd.p2.enable();
		kd.p2.setVisible(true);
		kd.p1.validate();
		kd.p2.validate();
	}
	public void removeKeyFields(){
		kd.setSize(500, 240);
		kd.p2.disable();
		kd.p2.setVisible(false);
		kd.p1.validate();
	}
	public void setDoubleField(){
		p2=new JPanel(new GridLayout(1,2));
		p2.add(p3);
		p2.add(p4);
		kd.add(p2,BorderLayout.CENTER);
		sp1.setVisible(true);
		sp2.setVisible(true);
		p3Label.setText("Public Key");
		p2.validate();
		p2.setVisible(true);
		priKeyField.setText("");
		pubKeyField.setText("");
		kd.pack();
		kd.setSize(600, 600);
	}public void setLoneField(){
		p2=new JPanel(new GridLayout(1,1));
		p2.add(sp1);
		p3Label.setText("Key");
		kd.add(p2,BorderLayout.CENTER);
		p2.validate();
		p2.setVisible(true);
		priKeyField.setText("");
		pubKeyField.setText("");
		kd.pack();
		kd.setSize(600, 400);
		
	}
}
Wäre cool wenn jemand das Problem entdecken würde:)
 
S

Spellsleeper

Gast
Danke,das hat mir scchon mal weitergeholfen, blöder Fehler meinerseits,aber ich bekomme immer noch keine Rollbalken angezeigt.Hat jemand ne Idee?


attachment.php


Hier der neue etwas geänderte Code
Java:
package main;
import javax.crypto.KeyGenerator;
import javax.swing.*;
import javax.swing.border.BevelBorder;
import javax.swing.border.LineBorder;
import javax.swing.filechooser.FileFilter;

import main.FileHandler.CryptType;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.lang.reflect.Array;
import java.security.Key;
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;

public class KeyDialog extends JDialog{
	
	JComboBox keyGenCombo;
	
	
	String val="AES";
	String keySize;
	JTextField targetField;
	String writeFile="C:/";
	String persKey;
	JButton keyIn;
	JCheckBox writeCheck;
	boolean auto=true;
	boolean keyInFile=true;
	JTextArea pubKeyField,priKeyField;
	KeyDialog kd;
	JPanel p2,p3,p1,p4;
	JLabel p3Label;
	JScrollPane sp1,sp2;
	
	
	public KeyDialog(JFrame parent,Point point) {
		super();
		
		kd=this;
		CryptType[] cTypes=FileHandler.CryptType.values();
		String[] values = new String[cTypes.length];
		for(int i=0;i<cTypes.length;i++){
			values[i]=cTypes[i].name();
		}
		Image icon=new ImageIcon("Pictures/key.png").getImage();
		setModal(true);
		setLocation(point.x-20,point.y-20);
		setTitle("Key-Erstellungsdialog");
		setSize(600,240);
		setIconImage(icon);
		setDefaultCloseOperation(DISPOSE_ON_CLOSE);
		p1=new JPanel();
		p1.setLayout(new GridLayout(4, 2,15,15));
		
		JLabel comLab=new JLabel("Schlüsselart:",JLabel.RIGHT);
		keyGenCombo=new JComboBox<>(values);
		keyGenCombo.addActionListener(auswählen);
		p1.add(comLab);
		p1.add(keyGenCombo);
		p1.add(new JLabel());
		
		
		writeCheck=new JCheckBox();
		writeCheck.setLabel("Schlüssel in Datei scheiben");
		writeCheck.addActionListener(writeCheckListener);
		p1.add(writeCheck);
		writeCheck.setSelected(true);
		
		targetField=new JTextField();
		targetField.setText("Wählen sie einen Zielpfad");
		targetField.setPreferredSize(new Dimension(300, 30));
		targetField.setToolTipText(targetField.getText());
		targetField.setEditable(false);
		p1.add(targetField);
		ImageIcon pathIco=new ImageIcon("Pictures/folder.png");
		JButton setPathButton=new JButton(pathIco);
		setPathButton.addActionListener(zielWählen);
		setPathButton.setToolTipText("Wählen sie den Zielpfad für ihre/n Schlüssel");
		p1.add(setPathButton);
		
		JButton runButton=new JButton("Schlüssel erstellen");
		runButton.addActionListener(runAction);
		p1.add(runButton);
		JButton abortButton=new JButton("Abbrechen");
		abortButton.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				KeyDialog.this.setVisible(false);
				KeyDialog.this.dispose();
			}
		});
		p1.add(abortButton);
		
		add(p1,BorderLayout.NORTH);
		//Panel mit dem JTextField für den Key/PublicKey
		p3=new JPanel();
		
		p3.setLayout(new BoxLayout(p3, BoxLayout.Y_AXIS));
		p3.setBorder(new LineBorder(Color.BLACK, 1));
		p3Label=new JLabel("Key",new ImageIcon("Pictures/keySmall.png"),JLabel.CENTER);
		p3.add(p3Label);
		pubKeyField=new JTextArea();
		pubKeyField.setLineWrap(true);
		pubKeyField.setSize(250,75);
		pubKeyField.setEditable(false);
		
		p3.add(pubKeyField);
		sp1=new JScrollPane(p3,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
		//Panel mit dem JTextField für den PrivateKey
		p4=new JPanel();
		
		p4.setLayout(new BoxLayout(p4, BoxLayout.Y_AXIS));
		p4.setBorder(new LineBorder(Color.BLACK, 1));
		p4.add(new JLabel("Private Key:",new ImageIcon("Pictures/keySmall.png"),JLabel.CENTER));
		priKeyField=new JTextArea();
		priKeyField.setLineWrap(true);
		priKeyField.setEditable(false);
		//sp2=new JScrollPane(priKeyField, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
		p4.add(priKeyField);
		sp2=new JScrollPane(p4,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
		p2=new JPanel();
		p2.setLayout(new BoxLayout(p2,BoxLayout.X_AXIS));
		p2.add(sp1);
		p2.add(sp2);
		sp1.setVisible(true);
		sp2.setVisible(true);
		add(p2,BorderLayout.CENTER);
		p2.disable();
		p2.setVisible(false);
		setVisible(true);
	}
	ActionListener runAction=new ActionListener() {
		
		@Override
		public void actionPerformed(ActionEvent e) {
			try {
				Key[] key = generateKey(val);
				
				if(key != null)
				{
					if(keyInFile)
						writeKeyToFile(key);
					
					
					//TODO Der Key muss mit einem Label ausgegeben werden
					removeKeyFields();
					setKeyFields(val);
					switch(key.length)
					{
					case 1:
						String keyString = Tools.getHexString(key[0].getEncoded());
						System.out.println("Der generierte "+val+" Schlüssel lautet (hexadezimal): "+keyString);
						pubKeyField.setText(keyString);
						break;
					case 2:
						String publicString = Tools.getHexString(key[0].getEncoded());
						String privateString = Tools.getHexString(key[1].getEncoded());
						System.out.println("Das generierte "+val+" Schlüsselpaar lautet (hexadezimal):");
						System.out.println("Public Key: "+publicString);
						System.out.println("Private Key: "+privateString);
						pubKeyField.setText(publicString);
						priKeyField.setText(privateString);
						break;
					}
				}
			}
			catch (Exception ex) {
				
				ex.printStackTrace();
			}

		}
	};
	
	private Key[] generateKey(String type) throws Exception
	{
		Key[] key = null;
		
		switch (type) {
		case "RSA":
			KeyPairGenerator pairgen = KeyPairGenerator
					.getInstance("RSA");
			SecureRandom secRand = new SecureRandom();
			pairgen.initialize(2048, secRand);
			KeyPair keyPair = pairgen.generateKeyPair();
			key = new Key[]{keyPair.getPublic(), keyPair.getPrivate()};
			break;
		case "AES":
		case "DES":
			KeyGenerator keygen = KeyGenerator.getInstance(val);
			SecureRandom random = new SecureRandom();
			keygen.init(random);
			key = new Key[]{keygen.generateKey()};
			break;	
		}
		return key;
	}
	
	private void writeKeyToFile(Key[] key) throws Exception
	{
		if(key != null)
		{
			FileOutputStream out;
			
			switch(key.length){
			case 1:
				out = new FileOutputStream(new File(writeFile+"/"+val+".key"));
				out.write(Tools.getHexString(key[0].getEncoded()).getBytes());
				out.flush();
				out.close();
				break;
			case 2:
				//public
				out = new FileOutputStream(new File(writeFile+"/"+val+"_public.key"));
				out.write(Tools.getHexString(key[0].getEncoded()).getBytes());
				out.flush();
				out.close();
				
				//private
				out = new FileOutputStream(new File(writeFile+"/"+val+"_private.key"));
				out.write(Tools.getHexString(key[1].getEncoded()).getBytes());
				out.flush();
				out.close();
				break;
			}
		}
	}
	
	
	ActionListener auswählen=new ActionListener() {
		
		@Override
		public void actionPerformed(ActionEvent e) {
			val=keyGenCombo.getSelectedItem().toString();
			System.out.println(val);
			
			
		}
	};
	ActionListener zielWählen=new ActionListener() {
		
		@Override
		public void actionPerformed(ActionEvent e) {
			JFileChooser jfc=new JFileChooser();
			jfc.addChoosableFileFilter(new KeyFileFilter());
			jfc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
			try{
				jfc.setCurrentDirectory(new File(MainFrame.writeFile));
			}catch(Exception ex){
				
			}
			int returnVal=jfc.showDialog(rootPane, "Wählen sie den Schlüssel-Zielpfad");
			
			if (returnVal == JFileChooser.APPROVE_OPTION) {
				writeFile = jfc.getSelectedFile().getAbsolutePath();
				targetField.setText(jfc.getSelectedFile().getAbsolutePath());

			}
			
		}
	};
	
	public class KeyFileFilter extends FileFilter{
		@Override
		public boolean accept(File f) {
			// TODO Auto-generated method stub
			return (f.isDirectory()||
					 f.getName().toLowerCase().endsWith(".key"));
		}

		@Override
		public String getDescription() {
			// TODO Auto-generated method stub
			return "Schlüsseldateien mit der Endung .key";
		}
	}
	
	ActionListener writeCheckListener=new ActionListener() {
		
		@Override
		public void actionPerformed(ActionEvent e) {
			if(writeCheck.isSelected()){
				keyInFile=true;
			}else{
				keyInFile=false;
			}
			
		}
	};
	public void setKeyFields(String type){
		switch(type)
		{
		case "RSA":
			
			setDoubleField();
			
			
			
			
			
			break;
		default:
			setLoneField();
			
		}
		//kd.setSize(500, 400);
		kd.p2.enable();
		kd.p2.setVisible(true);
		kd.p1.validate();
		kd.p2.validate();
	}
	public void removeKeyFields(){
		kd.setSize(500, 240);
		kd.p2.disable();
		kd.p2.setVisible(false);
		kd.p1.validate();
	}
	public void setDoubleField(){
		p2=new JPanel(new GridLayout(1,2));
		p2.add(p3);
		p2.add(p4);
		kd.add(p2,BorderLayout.CENTER);
		sp1.setVisible(true);
		sp2.setVisible(true);
		p3Label.setText("Public Key");
		p2.validate();
		p2.setVisible(true);
		priKeyField.setText("");
		pubKeyField.setText("");
		kd.pack();
		kd.setSize(600, 400);
	}public void setLoneField(){
		p2=new JPanel(new GridLayout(1,1));
		p2.add(sp1);
		p3Label.setText("Key");
		kd.add(p2,BorderLayout.CENTER);
		p2.validate();
		p2.setVisible(true);
		priKeyField.setText("");
		pubKeyField.setText("");
		kd.pack();
		kd.setSize(600, 400);
		
	}
}
 

Anhänge

  • 1.png
    1.png
    42,1 KB · Aufrufe: 45
S

Spellsleeper

Gast
War ein Variablenfehler, beim aufrufen der zwei KeyFelder habe ich die JPanel in den JScrollPanes aufgerufen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Output Fehler (Java-Programm Kuchen) Allgemeine Java-Themen 11
S Fehler: <ID> erwartet Allgemeine Java-Themen 5
P Fehler: Hauptklasse Main konnte nicht gefunden oder geladen werden Ursache: java.lang.ClassNotFoundException: Main Allgemeine Java-Themen 24
Pinhg Discord JDA Bot - Fehler Allgemeine Java-Themen 3
KonradN CVE-2022-21449: Fehler in Java bei Signaturprüfung Allgemeine Java-Themen 20
L Fehler mit Boolean. (Glaube ich zumindest) Allgemeine Java-Themen 6
P Selenium Scriipt zeigt Fehler beim Import Allgemeine Java-Themen 3
O Fehler bei Variablen Allgemeine Java-Themen 2
HerrBolte Seltsamer Fehler nur in der Windows- und nicht in der Java-Console O_O Allgemeine Java-Themen 16
M Kein Scanner Fehler durch falsche EIngabe Allgemeine Java-Themen 4
N nicht einsehbarer Fehler im code, kann nicht mehr übersetzten Allgemeine Java-Themen 51
yakazuqi Fehler beim Laden. JDA (Java Discord API) Allgemeine Java-Themen 1
C Fehler bei der Benutzung von itextpdf Allgemeine Java-Themen 1
U Fehler beim Compillieren Allgemeine Java-Themen 13
x46 String Format Fehler Allgemeine Java-Themen 2
bueseb84 Fehler beim Import von Maven Dependencies aus lokalem artifactory Allgemeine Java-Themen 2
MiMa Datei verschieben hat einen Fehler?? Allgemeine Java-Themen 20
O xlsx Datei auslesen mit POI von Apache wirft seltsamen Fehler. Allgemeine Java-Themen 11
T Java-Quiz Code Fehler Allgemeine Java-Themen 10
A Fehler beim Öffnen eines Projekts Allgemeine Java-Themen 6
E Hat der Compiler einen Fehler oder warumbeendet return nicht eine Methode ? Allgemeine Java-Themen 7
T Fehler bei IF abfrage Allgemeine Java-Themen 8
C Fehler beim Debuggen von Listen Allgemeine Java-Themen 4
M Einheitenrechner - Fehler Allgemeine Java-Themen 12
D Erste Schritte Fehler mit negativen und 0 Zahlen im String Allgemeine Java-Themen 6
T Denk-Fehler? Allgemeine Java-Themen 4
A Finde den Fehler nicht. Allgemeine Java-Themen 7
H Class 'java.io.BuferedReader' is not present in JRE Emulation Libary | GWT Fehler?! Allgemeine Java-Themen 0
D Unbekannter Fehler Allgemeine Java-Themen 1
R Fehler im Code Allgemeine Java-Themen 1
R Fehler im Code Allgemeine Java-Themen 3
ReinerCoder Methode einer Klasse meldet Fehler "misplaced construct(s)" Allgemeine Java-Themen 13
R Wo ist mein Fehler in der Methode DRINGEND Allgemeine Java-Themen 9
R Wo ist mein Fehler in diesem Code Allgemeine Java-Themen 7
I Fehler beim Ant-Package erstellen mit Java 9 Allgemeine Java-Themen 1
L Fehler bei der Ausführung einer Jar Allgemeine Java-Themen 2
T OOP Fehler im Design Allgemeine Java-Themen 9
Thallius Unfassbarer Fehler. Brauche Ideen zum Debuggen Allgemeine Java-Themen 9
U Eclipse MANIFEST fehler Allgemeine Java-Themen 7
I Fehler bei HashMaps Darstellung Allgemeine Java-Themen 10
R Classnotfoundexception Fehler Allgemeine Java-Themen 3
A Fehler beim Aktualisieren JTable Allgemeine Java-Themen 1
N Compiler-Fehler Warum erhalte ich einen Nullpointer Fehler? Allgemeine Java-Themen 2
N Prim's Algorithm - wo ist der Fehler? Allgemeine Java-Themen 3
J-Gallus Erste Schritte Wahrscheinlich Anfänger Fehler beim rechnen. Falsches Ergebnis. Allgemeine Java-Themen 9
M Line-Fehler Allgemeine Java-Themen 8
U Input/Output Warum wirft mir das Programm diesen Fehler? Allgemeine Java-Themen 6
RalleYTN Merkwürdiger Fehler mit JFrame im Vollbild Allgemeine Java-Themen 4
V AudioInputStream Fehler Allgemeine Java-Themen 1
J Interpreter-Fehler Fehler beim Verschlüsseln Invalid AES key length Allgemeine Java-Themen 1
G Fehler mit Vector Allgemeine Java-Themen 3
F Java Fehler "buildTableModel" Allgemeine Java-Themen 3
F Fehler in Zeile in Log schreiben Allgemeine Java-Themen 6
DanielsLPecke Input/Output Arduino komischer Fehler. Allgemeine Java-Themen 38
V JavaFX Fehler beim Starten einer Jar Allgemeine Java-Themen 7
S Hashtable Fehler Allgemeine Java-Themen 14
S Zwei String vergleichen, Fehler markieren Allgemeine Java-Themen 3
C Hilfe bei einer Fehler meldung Allgemeine Java-Themen 3
K Was ist mein Fehler? Allgemeine Java-Themen 2
Tausendsassa Compiler-Fehler Fertiges Programm mit Fehler Allgemeine Java-Themen 10
B Eclipse Nach Export einer .jar Fehler: Hauptklasse konnte nicht gefunden oder geladen werden Allgemeine Java-Themen 5
K Fehler beim erstellen von .jar Datei Allgemeine Java-Themen 3
P Java Fehler auf Win2008 Server java.io.FilePermission IE8 Version JRE 1.7.0_51 Allgemeine Java-Themen 7
M Eclipse - Fehler: Hauptklasse de.xyz.init.MeineKlasse konnte nicht gefunden oder geladen werden Allgemeine Java-Themen 2
Seikuassi Swing Stehe auf dem Schlauch...(BufferedReader_Writer-Fehler?) Allgemeine Java-Themen 4
M Eclipse Fehler beim Installieren des Plugins "Jigloo" Allgemeine Java-Themen 12
A Eclipse - Fehler beim "RUN" - "Unable to Launch - The selection cannot be launched" Allgemeine Java-Themen 6
B Fehler bei einem Programm Allgemeine Java-Themen 10
F HILFEEEEEE JAVA Fehler - Tiny Umbrella Allgemeine Java-Themen 1
N JavaFX IndexOutOfBounds-Fehler Allgemeine Java-Themen 11
N GPIB - Fehler: Unable to open device Allgemeine Java-Themen 1
S Ganzes Programm "stucked" - JVM-Fehler? Allgemeine Java-Themen 2
D Variablen Ausgabe bzw. einlese Fehler Allgemeine Java-Themen 7
I Fehler java.lang.NullPointerException Allgemeine Java-Themen 5
B NullPointerException - Aber kein Fehler im Code Allgemeine Java-Themen 4
B Eclipse Fehler in eclipse/Java Allgemeine Java-Themen 13
B Fehler beim Auslesen von Einstellungen. Zwei ähnliche Blöcke, nur eins geht. Allgemeine Java-Themen 5
H JUnit Fehler beim Compilieren - erledigt Allgemeine Java-Themen 0
J Fehler beim parsens eine Datums Allgemeine Java-Themen 3
A Thread Fehler absichtlich provozieren Allgemeine Java-Themen 3
J Compiler-Fehler .nextLine fehler Allgemeine Java-Themen 3
B Fehler im Java-Code Allgemeine Java-Themen 4
S Java Fehler bei Konsolenprogramm Allgemeine Java-Themen 2
N Was ist ein Fehler (Requirement-Engineering) Allgemeine Java-Themen 3
C System.out.print("") Compiler Fehler Allgemeine Java-Themen 2
T Programm bleibt ohne Fehler stehen Allgemeine Java-Themen 4
G Fehler beim instanzieren einer Generischen Klasse Allgemeine Java-Themen 5
K Eclipse Fehler beim Ausführen meines Programms in Eclipse Allgemeine Java-Themen 11
K Input/Output Fehler bei Dateierzeugung Allgemeine Java-Themen 7
M Fehler bei Remoteinstallation von Java Allgemeine Java-Themen 5
M Fehler bei Verwendung von TexturePaint Allgemeine Java-Themen 16
M JUnit & Multithreading - sehr seltener Fehler Allgemeine Java-Themen 3
G Merkwürdiger Fehler NetBeans Allgemeine Java-Themen 2
G Native Library / Fehler beim Laden der .so/.dll Datei Allgemeine Java-Themen 17
P java tabelle auslesen - xls (excel) fehler Allgemeine Java-Themen 5
iB0T Unverständlicher Fehler Allgemeine Java-Themen 5
S Antlr Grammatik übersetzt ohne Fehler, dennoch wird Zahl nicht als Eingabe erkannt Allgemeine Java-Themen 4
K SimpleDateFormat Fehler Allgemeine Java-Themen 3
M import Fehler Allgemeine Java-Themen 2
M Startdatei konnte nicht geparst werden. Fehler in Zeile 0 Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben