First Commit
This commit is contained in:
3
Datenblatt/.idea/.gitignore
generated
vendored
Normal file
3
Datenblatt/.idea/.gitignore
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
18
Datenblatt/.idea/artifacts/Datenblatt_jar.xml
generated
Normal file
18
Datenblatt/.idea/artifacts/Datenblatt_jar.xml
generated
Normal file
@@ -0,0 +1,18 @@
|
||||
<component name="ArtifactManager">
|
||||
<artifact type="jar" name="Datenblatt:jar">
|
||||
<output-path>$PROJECT_DIR$/out/artifacts/Datenblatt_jar</output-path>
|
||||
<root id="archive" name="Datenblatt.jar">
|
||||
<element id="module-output" name="Datenblatt" />
|
||||
<element id="extracted-dir" path="$USER_HOME$/Downloads/pdfbox-tools-2.0.27.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$USER_HOME$/Downloads/pdfbox-2.0.27.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$USER_HOME$/Downloads/fontbox-2.0.27.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$USER_HOME$/Downloads/preflight-2.0.27.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$USER_HOME$/Downloads/xmpbox-2.0.27.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$USER_HOME$/Downloads/commons-logging-1.2.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$USER_HOME$/Downloads/org.eclipse.swt-3.1.jar/org.eclipse.swt-3.1.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$USER_HOME$/Downloads/iText7-pdfHtml-4.0.5-only-jars/html2pdf-4.0.5.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$USER_HOME$/Downloads/itextpdf-5.5.13.2.jar" path-in-jar="/" />
|
||||
<element id="extracted-dir" path="$USER_HOME$/Downloads/pdf-renderer.jar/pdf-renderer.jar" path-in-jar="/" />
|
||||
</root>
|
||||
</artifact>
|
||||
</component>
|
||||
13
Datenblatt/.idea/compiler.xml
generated
Normal file
13
Datenblatt/.idea/compiler.xml
generated
Normal file
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="CompilerConfiguration">
|
||||
<annotationProcessing>
|
||||
<profile name="Maven default annotation processors profile" enabled="true">
|
||||
<sourceOutputDir name="target/generated-sources/annotations" />
|
||||
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
|
||||
<outputRelativeToContentRoot value="true" />
|
||||
<module name="Datenblatt" />
|
||||
</profile>
|
||||
</annotationProcessing>
|
||||
</component>
|
||||
</project>
|
||||
7
Datenblatt/.idea/encodings.xml
generated
Normal file
7
Datenblatt/.idea/encodings.xml
generated
Normal file
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="Encoding">
|
||||
<file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/src/main/resources" charset="UTF-8" />
|
||||
</component>
|
||||
</project>
|
||||
204
Datenblatt/.idea/intellij-javadocs-4.0.1.xml
generated
Normal file
204
Datenblatt/.idea/intellij-javadocs-4.0.1.xml
generated
Normal file
@@ -0,0 +1,204 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="JavaDocConfiguration">
|
||||
<GENERAL>
|
||||
<MODE>UPDATE</MODE>
|
||||
<OVERRIDDEN_METHODS>false</OVERRIDDEN_METHODS>
|
||||
<SPLITTED_CLASS_NAME>true</SPLITTED_CLASS_NAME>
|
||||
<LEVELS>
|
||||
<LEVEL>TYPE</LEVEL>
|
||||
<LEVEL>METHOD</LEVEL>
|
||||
<LEVEL>FIELD</LEVEL>
|
||||
</LEVELS>
|
||||
<VISIBILITIES>
|
||||
<VISIBILITY>DEFAULT</VISIBILITY>
|
||||
<VISIBILITY>PROTECTED</VISIBILITY>
|
||||
<VISIBILITY>PUBLIC</VISIBILITY>
|
||||
</VISIBILITIES>
|
||||
</GENERAL>
|
||||
<TEMPLATES>
|
||||
<CLASSES>
|
||||
<CLASS>
|
||||
<KEY>^.*(public|protected|private)*.+interface\s+\w+.*</KEY>
|
||||
<VALUE>/**\n
|
||||
* The interface ${name}.\n
|
||||
<#if element.typeParameters?has_content> * \n
|
||||
</#if>
|
||||
<#list element.typeParameters as typeParameter>
|
||||
* @param <${typeParameter.name}> the type parameter\n
|
||||
</#list>
|
||||
*/</VALUE>
|
||||
</CLASS>
|
||||
<CLASS>
|
||||
<KEY>^.*(public|protected|private)*.+enum\s+\w+.*</KEY>
|
||||
<VALUE>/**\n
|
||||
* The enum ${name}.\n
|
||||
*/</VALUE>
|
||||
</CLASS>
|
||||
<CLASS>
|
||||
<KEY>^.*(public|protected|private)*.+class\s+\w+.*</KEY>
|
||||
<VALUE>/**\n
|
||||
* The type ${name}.\n
|
||||
<#if element.typeParameters?has_content> * \n
|
||||
</#if>
|
||||
<#list element.typeParameters as typeParameter>
|
||||
* @param <${typeParameter.name}> the type parameter\n
|
||||
</#list>
|
||||
*/</VALUE>
|
||||
</CLASS>
|
||||
<CLASS>
|
||||
<KEY>.+</KEY>
|
||||
<VALUE>/**\n
|
||||
* The type ${name}.\n
|
||||
*/</VALUE>
|
||||
</CLASS>
|
||||
</CLASSES>
|
||||
<CONSTRUCTORS>
|
||||
<CONSTRUCTOR>
|
||||
<KEY>.+</KEY>
|
||||
<VALUE>/**\n
|
||||
* Instantiates a new ${name}.\n
|
||||
<#if element.parameterList.parameters?has_content>
|
||||
*\n
|
||||
</#if>
|
||||
<#list element.parameterList.parameters as parameter>
|
||||
* @param ${parameter.name} the ${paramNames[parameter.name]}\n
|
||||
</#list>
|
||||
<#if element.throwsList.referenceElements?has_content>
|
||||
*\n
|
||||
</#if>
|
||||
<#list element.throwsList.referenceElements as exception>
|
||||
* @throws ${exception.referenceName} the ${exceptionNames[exception.referenceName]}\n
|
||||
</#list>
|
||||
*/</VALUE>
|
||||
</CONSTRUCTOR>
|
||||
</CONSTRUCTORS>
|
||||
<METHODS>
|
||||
<METHOD>
|
||||
<KEY>^.*(public|protected|private)*\s*.*(\w(\s*<.+>)*)+\s+get\w+\s*\(.*\).+</KEY>
|
||||
<VALUE>/**\n
|
||||
* Gets ${partName}.\n
|
||||
<#if element.typeParameters?has_content> * \n
|
||||
</#if>
|
||||
<#list element.typeParameters as typeParameter>
|
||||
* @param <${typeParameter.name}> the type parameter\n
|
||||
</#list>
|
||||
<#if element.parameterList.parameters?has_content>
|
||||
*\n
|
||||
</#if>
|
||||
<#list element.parameterList.parameters as parameter>
|
||||
* @param ${parameter.name} the ${paramNames[parameter.name]}\n
|
||||
</#list>
|
||||
<#if isNotVoid>
|
||||
*\n
|
||||
* @return the ${partName}\n
|
||||
</#if>
|
||||
<#if element.throwsList.referenceElements?has_content>
|
||||
*\n
|
||||
</#if>
|
||||
<#list element.throwsList.referenceElements as exception>
|
||||
* @throws ${exception.referenceName} the ${exceptionNames[exception.referenceName]}\n
|
||||
</#list>
|
||||
*/</VALUE>
|
||||
</METHOD>
|
||||
<METHOD>
|
||||
<KEY>^.*(public|protected|private)*\s*.*(void|\w(\s*<.+>)*)+\s+set\w+\s*\(.*\).+</KEY>
|
||||
<VALUE>/**\n
|
||||
* Sets ${partName}.\n
|
||||
<#if element.typeParameters?has_content> * \n
|
||||
</#if>
|
||||
<#list element.typeParameters as typeParameter>
|
||||
* @param <${typeParameter.name}> the type parameter\n
|
||||
</#list>
|
||||
<#if element.parameterList.parameters?has_content>
|
||||
*\n
|
||||
</#if>
|
||||
<#list element.parameterList.parameters as parameter>
|
||||
* @param ${parameter.name} the ${paramNames[parameter.name]}\n
|
||||
</#list>
|
||||
<#if isNotVoid>
|
||||
*\n
|
||||
* @return the ${partName}\n
|
||||
</#if>
|
||||
<#if element.throwsList.referenceElements?has_content>
|
||||
*\n
|
||||
</#if>
|
||||
<#list element.throwsList.referenceElements as exception>
|
||||
* @throws ${exception.referenceName} the ${exceptionNames[exception.referenceName]}\n
|
||||
</#list>
|
||||
*/</VALUE>
|
||||
</METHOD>
|
||||
<METHOD>
|
||||
<KEY>^.*((public\s+static)|(static\s+public))\s+void\s+main\s*\(\s*String\s*(\[\s*\]|\.\.\.)\s+\w+\s*\).+</KEY>
|
||||
<VALUE>/**\n
|
||||
* The entry point of application.\n
|
||||
|
||||
<#if element.parameterList.parameters?has_content>
|
||||
*\n
|
||||
</#if>
|
||||
* @param ${element.parameterList.parameters[0].name} the input arguments\n
|
||||
<#if element.throwsList.referenceElements?has_content>
|
||||
*\n
|
||||
</#if>
|
||||
<#list element.throwsList.referenceElements as exception>
|
||||
* @throws ${exception.referenceName} the ${exceptionNames[exception.referenceName]}\n
|
||||
</#list>
|
||||
*/</VALUE>
|
||||
</METHOD>
|
||||
<METHOD>
|
||||
<KEY>.+</KEY>
|
||||
<VALUE>/**\n
|
||||
* ${name}<#if isNotVoid> ${return}</#if>.\n
|
||||
<#if element.typeParameters?has_content> * \n
|
||||
</#if>
|
||||
<#list element.typeParameters as typeParameter>
|
||||
* @param <${typeParameter.name}> the type parameter\n
|
||||
</#list>
|
||||
<#if element.parameterList.parameters?has_content>
|
||||
*\n
|
||||
</#if>
|
||||
<#list element.parameterList.parameters as parameter>
|
||||
* @param ${parameter.name} the ${paramNames[parameter.name]}\n
|
||||
</#list>
|
||||
<#if isNotVoid>
|
||||
*\n
|
||||
* @return the ${return}\n
|
||||
</#if>
|
||||
<#if element.throwsList.referenceElements?has_content>
|
||||
*\n
|
||||
</#if>
|
||||
<#list element.throwsList.referenceElements as exception>
|
||||
* @throws ${exception.referenceName} the ${exceptionNames[exception.referenceName]}\n
|
||||
</#list>
|
||||
*/</VALUE>
|
||||
</METHOD>
|
||||
</METHODS>
|
||||
<FIELDS>
|
||||
<FIELD>
|
||||
<KEY>^.*(public|protected|private)*.+static.*(\w\s\w)+.+</KEY>
|
||||
<VALUE>/**\n
|
||||
* The constant ${element.getName()}.\n
|
||||
*/</VALUE>
|
||||
</FIELD>
|
||||
<FIELD>
|
||||
<KEY>^.*(public|protected|private)*.*(\w\s\w)+.+</KEY>
|
||||
<VALUE>/**\n
|
||||
<#if element.parent.isInterface()>
|
||||
* The constant ${element.getName()}.\n
|
||||
<#else>
|
||||
* The ${name}.\n
|
||||
</#if> */</VALUE>
|
||||
</FIELD>
|
||||
<FIELD>
|
||||
<KEY>.+</KEY>
|
||||
<VALUE>/**\n
|
||||
<#if element.parent.isEnum()>
|
||||
*${name} ${typeName}.\n
|
||||
<#else>
|
||||
* The ${name}.\n
|
||||
</#if>*/</VALUE>
|
||||
</FIELD>
|
||||
</FIELDS>
|
||||
</TEMPLATES>
|
||||
</component>
|
||||
</project>
|
||||
20
Datenblatt/.idea/jarRepositories.xml
generated
Normal file
20
Datenblatt/.idea/jarRepositories.xml
generated
Normal file
@@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="RemoteRepositoriesConfiguration">
|
||||
<remote-repository>
|
||||
<option name="id" value="central" />
|
||||
<option name="name" value="Central Repository" />
|
||||
<option name="url" value="https://repo.maven.apache.org/maven2" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="central" />
|
||||
<option name="name" value="Maven Central repository" />
|
||||
<option name="url" value="https://repo1.maven.org/maven2" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="jboss.community" />
|
||||
<option name="name" value="JBoss Community repository" />
|
||||
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
|
||||
</remote-repository>
|
||||
</component>
|
||||
</project>
|
||||
18
Datenblatt/.idea/libraries/commons_logging_1_2.xml
generated
Normal file
18
Datenblatt/.idea/libraries/commons_logging_1_2.xml
generated
Normal file
@@ -0,0 +1,18 @@
|
||||
<component name="libraryTable">
|
||||
<library name="commons-logging-1.2">
|
||||
<CLASSES>
|
||||
<root url="jar://$PROJECT_DIR$/../JAR-Libs/commons-logging-1.2.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/../JAR-Libs/fontbox-2.0.27.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/../JAR-Libs/html2pdf-4.0.5.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/../JAR-Libs/itextpdf-5.5.13.2.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/../JAR-Libs/org.eclipse.swt-3.1.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/../JAR-Libs/pdf-renderer.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/../JAR-Libs/pdfbox-2.0.27.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/../JAR-Libs/pdfbox-tools-2.0.27.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/../JAR-Libs/preflight-2.0.27.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/../JAR-Libs/xmpbox-2.0.27.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</component>
|
||||
11
Datenblatt/.idea/libraries/kenai_nbpwr_sun_pdfview.xml
generated
Normal file
11
Datenblatt/.idea/libraries/kenai_nbpwr_sun_pdfview.xml
generated
Normal file
@@ -0,0 +1,11 @@
|
||||
<component name="libraryTable">
|
||||
<library name="kenai.nbpwr.sun.pdfview" type="repository">
|
||||
<properties maven-id="com.kenai.nbpwr:com-sun-pdfview:1.0.5-201003191900" />
|
||||
<CLASSES>
|
||||
<root url="jar://$PROJECT_DIR$/lib/com-sun-pdfview-1.0.5-201003191900.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/lib/pdf-renderer-1.0.5.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</component>
|
||||
14
Datenblatt/.idea/misc.xml
generated
Normal file
14
Datenblatt/.idea/misc.xml
generated
Normal file
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
||||
<component name="MavenProjectsManager">
|
||||
<option name="originalFiles">
|
||||
<list>
|
||||
<option value="$PROJECT_DIR$/pom.xml" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/out" />
|
||||
</component>
|
||||
</project>
|
||||
124
Datenblatt/.idea/uiDesigner.xml
generated
Normal file
124
Datenblatt/.idea/uiDesigner.xml
generated
Normal file
@@ -0,0 +1,124 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="Palette2">
|
||||
<group name="Swing">
|
||||
<item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
|
||||
</item>
|
||||
<item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
|
||||
</item>
|
||||
<item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
|
||||
</item>
|
||||
<item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.svg" removable="false" auto-create-binding="false" can-attach-label="true">
|
||||
<default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
|
||||
</item>
|
||||
<item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
|
||||
<initial-values>
|
||||
<property name="text" value="Button" />
|
||||
</initial-values>
|
||||
</item>
|
||||
<item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
|
||||
<initial-values>
|
||||
<property name="text" value="RadioButton" />
|
||||
</initial-values>
|
||||
</item>
|
||||
<item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
|
||||
<initial-values>
|
||||
<property name="text" value="CheckBox" />
|
||||
</initial-values>
|
||||
</item>
|
||||
<item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
|
||||
<initial-values>
|
||||
<property name="text" value="Label" />
|
||||
</initial-values>
|
||||
</item>
|
||||
<item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
||||
<preferred-size width="150" height="-1" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
||||
<preferred-size width="150" height="-1" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
||||
<preferred-size width="150" height="-1" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
|
||||
</item>
|
||||
<item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
|
||||
<preferred-size width="200" height="200" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
|
||||
<preferred-size width="200" height="200" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
|
||||
</item>
|
||||
<item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
|
||||
</item>
|
||||
<item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
|
||||
</item>
|
||||
<item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
|
||||
</item>
|
||||
<item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
|
||||
<preferred-size width="-1" height="20" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
|
||||
</item>
|
||||
<item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
|
||||
</item>
|
||||
</group>
|
||||
</component>
|
||||
</project>
|
||||
6
Datenblatt/.idea/vcs.xml
generated
Normal file
6
Datenblatt/.idea/vcs.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
|
||||
</component>
|
||||
</project>
|
||||
BIN
Datenblatt/Datenblatt.pdf
Normal file
BIN
Datenblatt/Datenblatt.pdf
Normal file
Binary file not shown.
BIN
Datenblatt/Datenblatt.png
Normal file
BIN
Datenblatt/Datenblatt.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 34 KiB |
13
Datenblatt/TODO.txt
Normal file
13
Datenblatt/TODO.txt
Normal file
@@ -0,0 +1,13 @@
|
||||
TODO:
|
||||
- Vorschau lässt sich nur einmal aktualisieren
|
||||
> kein Dateizugriff
|
||||
- Einzeiligen freien Text hinzufügen
|
||||
> Besonderheiten / Extras (z.B.: Office-Paket)
|
||||
- Displaygrößen angeben
|
||||
- Erkennen, ob bereits eine Instanz läuft, und dann nicht starten, um Fehler zu vermeiden
|
||||
> https://blog.bigbasti.com/prufen-ob-ein-eigenes-programm-bereits-geoffnet-ist/
|
||||
- Benutzerdefinierte Listen:
|
||||
> Datenträgertypen
|
||||
> Dynamische Datenträgergrößen, usw...
|
||||
- Druck in andere Formate
|
||||
> z.B.: A5, A6, 10x15
|
||||
BIN
Datenblatt/lib/com-sun-pdfview-1.0.5-201003191900.jar
Normal file
BIN
Datenblatt/lib/com-sun-pdfview-1.0.5-201003191900.jar
Normal file
Binary file not shown.
BIN
Datenblatt/lib/pdf-renderer-1.0.5.jar
Normal file
BIN
Datenblatt/lib/pdf-renderer-1.0.5.jar
Normal file
Binary file not shown.
BIN
Datenblatt/logo.png
Normal file
BIN
Datenblatt/logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 22 KiB |
BIN
Datenblatt/out/artifacts/Datenblatt_jar/Datenblatt.jar
Normal file
BIN
Datenblatt/out/artifacts/Datenblatt_jar/Datenblatt.jar
Normal file
Binary file not shown.
18
Datenblatt/pom.xml
Normal file
18
Datenblatt/pom.xml
Normal file
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<groupId>de.dejan_hopp</groupId>
|
||||
<artifactId>Datenblatt</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
|
||||
<properties>
|
||||
<maven.compiler.source>8</maven.compiler.source>
|
||||
<maven.compiler.target>8</maven.compiler.target>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
</properties>
|
||||
|
||||
|
||||
</project>
|
||||
2
Datenblatt/settings.conf
Normal file
2
Datenblatt/settings.conf
Normal file
@@ -0,0 +1,2 @@
|
||||
#Tue Feb 14 14:34:42 CET 2023
|
||||
printerName=LAGER
|
||||
15
Datenblatt/src/main/java/de/dejan_hopp/Datenblatt.java
Normal file
15
Datenblatt/src/main/java/de/dejan_hopp/Datenblatt.java
Normal file
@@ -0,0 +1,15 @@
|
||||
package de.dejan_hopp;
|
||||
|
||||
import java.util.Properties;
|
||||
|
||||
public class Datenblatt {
|
||||
public static Properties cpu=new Properties();
|
||||
public static Properties gpu=new Properties();
|
||||
public static Properties storage=new Properties();
|
||||
public static Properties memory=new Properties();
|
||||
public static Properties os=new Properties();
|
||||
public static Properties price =new Properties();
|
||||
|
||||
public static int storageAnzahl=1;
|
||||
|
||||
}
|
||||
149
Datenblatt/src/main/java/de/dejan_hopp/Features.java
Normal file
149
Datenblatt/src/main/java/de/dejan_hopp/Features.java
Normal file
@@ -0,0 +1,149 @@
|
||||
package de.dejan_hopp;
|
||||
|
||||
import de.dejan_hopp.io.Kbd;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
|
||||
public class Features {
|
||||
|
||||
public static void cpu(){
|
||||
System.out.println("--------------------");
|
||||
System.out.println("CPU-Eigenschaften:");
|
||||
System.out.print("Hersteller:");
|
||||
Datenblatt.cpu.setProperty("manufacturer", Kbd.readString());
|
||||
System.out.print("CPU-Name:");
|
||||
Datenblatt.cpu.setProperty("name",Kbd.readString());
|
||||
System.out.print("Anzahl der Kerne:");
|
||||
Datenblatt.cpu.setProperty("cores",Kbd.readString());
|
||||
System.out.print("Anzahl der Threads:");
|
||||
Datenblatt.cpu.setProperty("threads",Kbd.readString());
|
||||
System.out.print("Taktfrequenz in MHz:");
|
||||
Datenblatt.cpu.setProperty("mhz",Kbd.readString());
|
||||
}
|
||||
|
||||
public static void gpu(){
|
||||
System.out.println("--------------------");
|
||||
System.out.println("Grafik-Eigenschaften:");
|
||||
System.out.print("Hersteller:");
|
||||
Datenblatt.gpu.setProperty("manufacturer",Kbd.readString());
|
||||
System.out.print("GPU-Name:");
|
||||
Datenblatt.gpu.setProperty("name",Kbd.readString());
|
||||
System.out.print("Taktfrequenz in MHz:");
|
||||
Datenblatt.gpu.setProperty("mhz",Kbd.readString());
|
||||
}
|
||||
|
||||
public static void storage(){
|
||||
System.out.println("--------------------");
|
||||
System.out.println("Datenträger:");
|
||||
System.out.print("Anzahl:");
|
||||
try {
|
||||
Datenblatt.storageAnzahl=Kbd.readInt();
|
||||
}catch (IOException ioe){
|
||||
System.out.println("FEHLER!: Es wurde keine Zahl eingegeben!");
|
||||
}
|
||||
|
||||
if(Datenblatt.storageAnzahl==1){
|
||||
System.out.print("Datenträgertyp(SSD oder HDD):");
|
||||
Datenblatt.storage.setProperty("drive1Type",Kbd.readString());
|
||||
System.out.print("Kapazität in GB:");
|
||||
Datenblatt.storage.setProperty("drive1Capacity",Kbd.readString());
|
||||
} else if (Datenblatt.storageAnzahl==2) {
|
||||
//Datenträger 1
|
||||
System.out.print("1. Datenträgertyp(SSD oder HDD):");
|
||||
Datenblatt.storage.setProperty("drive1Type",Kbd.readString());
|
||||
System.out.print("Kapazität in GB:");
|
||||
Datenblatt.storage.setProperty("drive1Capacity",Kbd.readString());
|
||||
|
||||
//Datenträger 2
|
||||
System.out.print("2. Datenträgertyp(SSD oder HDD):");
|
||||
Datenblatt.storage.setProperty("drive2Type",Kbd.readString());
|
||||
System.out.print("Kapazität in GB:");
|
||||
Datenblatt.storage.setProperty("drive2Capacity",Kbd.readString());
|
||||
|
||||
} else if (Datenblatt.storageAnzahl==3) {
|
||||
//Datenträger 1
|
||||
System.out.print("1. Datenträgertyp(SSD oder HDD):");
|
||||
Datenblatt.storage.setProperty("drive1Type",Kbd.readString());
|
||||
System.out.print("Kapazität in GB:");
|
||||
Datenblatt.storage.setProperty("drive1Capacity",Kbd.readString());
|
||||
|
||||
//Datenträger 2
|
||||
System.out.print("2. Datenträgertyp(SSD oder HDD):");
|
||||
Datenblatt.storage.setProperty("drive2Type",Kbd.readString());
|
||||
System.out.print("Kapazität in GB:");
|
||||
Datenblatt.storage.setProperty("drive2Capacity",Kbd.readString());
|
||||
|
||||
//Datenträger 3
|
||||
System.out.print("3. Datenträgertyp(SSD oder HDD):");
|
||||
Datenblatt.storage.setProperty("drive3Type",Kbd.readString());
|
||||
System.out.print("Kapazität in GB:");
|
||||
Datenblatt.storage.setProperty("drive3Capacity",Kbd.readString());
|
||||
|
||||
} else if (Datenblatt.storageAnzahl==4) {
|
||||
//Datenträger 1
|
||||
System.out.print("1. Datenträgertyp(SSD oder HDD):");
|
||||
Datenblatt.storage.setProperty("drive1Type",Kbd.readString());
|
||||
System.out.print("Kapazität in GB:");
|
||||
Datenblatt.storage.setProperty("drive1Capacity",Kbd.readString());
|
||||
|
||||
//Datenträger 2
|
||||
System.out.print("2. Datenträgertyp(SSD oder HDD):");
|
||||
Datenblatt.storage.setProperty("drive2Type",Kbd.readString());
|
||||
System.out.print("Kapazität in GB:");
|
||||
Datenblatt.storage.setProperty("drive2Capacity",Kbd.readString());
|
||||
|
||||
//Datenträger 3
|
||||
System.out.print("3. Datenträgertyp(SSD oder HDD):");
|
||||
Datenblatt.storage.setProperty("drive3Type",Kbd.readString());
|
||||
System.out.print("Kapazität in GB:");
|
||||
Datenblatt.storage.setProperty("drive3Capacity",Kbd.readString());
|
||||
|
||||
//Datenträger 4
|
||||
System.out.print("1. Datenträgertyp(SSD oder HDD):");
|
||||
Datenblatt.storage.setProperty("drive4Type",Kbd.readString());
|
||||
System.out.print("Kapazität in GB:");
|
||||
Datenblatt.storage.setProperty("drive4Capacity",Kbd.readString());
|
||||
|
||||
} else System.out.println("Falsche Eingabe!");
|
||||
|
||||
|
||||
}
|
||||
|
||||
public static void memory(){
|
||||
System.out.println("--------------------");
|
||||
System.out.println("RAM:");
|
||||
System.out.print("Kapazität in GB:");
|
||||
Datenblatt.memory.setProperty("capacity",Kbd.readString());
|
||||
System.out.print("DDR-Version(\"DDRx\"):");
|
||||
Datenblatt.memory.setProperty("ddrVersion",Kbd.readString());
|
||||
}
|
||||
|
||||
public static void os(){
|
||||
System.out.println("--------------------");
|
||||
System.out.print("Welches Betreibssystem ist installiert?:");
|
||||
Datenblatt.os.setProperty("name",Kbd.readString());
|
||||
}
|
||||
|
||||
public static void clearFeatures(){
|
||||
System.out.println("--------------------");
|
||||
System.out.print("Datenblatt zurücksetzen?(y/n)");
|
||||
|
||||
if(Kbd.readString().equals("y")||Kbd.readString().equals("Y")){
|
||||
Datenblatt.cpu.clear();
|
||||
Datenblatt.gpu.clear();
|
||||
Datenblatt.storage.clear();
|
||||
Datenblatt.memory.clear();
|
||||
Datenblatt.os.clear();
|
||||
Datenblatt.price.clear();
|
||||
Datenblatt.storageAnzahl=1;
|
||||
} else System.out.println("Abgebrochen");
|
||||
}
|
||||
|
||||
public static void setPrice(){
|
||||
System.out.println("--------------------");
|
||||
System.out.print("Wieviel kostet dieser PC/dieses Notebook(in EURO)?: ");
|
||||
Datenblatt.price.setProperty("EUR",Kbd.readString());
|
||||
}
|
||||
|
||||
}
|
||||
542
Datenblatt/src/main/java/de/dejan_hopp/GUI.java
Normal file
542
Datenblatt/src/main/java/de/dejan_hopp/GUI.java
Normal file
@@ -0,0 +1,542 @@
|
||||
package de.dejan_hopp;
|
||||
|
||||
import de.dejan_hopp.io.Delay;
|
||||
import de.dejan_hopp.io.Print;
|
||||
import de.dejan_hopp.io.pdf2PNG;
|
||||
|
||||
import javax.imageio.ImageIO;
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.awt.event.KeyEvent;
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
public class GUI extends javax.swing.JFrame implements ActionListener {
|
||||
|
||||
private static String programVersion="1.0";
|
||||
|
||||
// Menü
|
||||
private JMenuBar menuBar=new JMenuBar();
|
||||
private JMenu menuDatei=new JMenu("Datei"); //Datei-Menü
|
||||
private JMenuItem menuDateiPrint=new JMenuItem("Drucken");
|
||||
private JMenuItem menuDateiReset=new JMenuItem("Zurücksetzen");
|
||||
private JMenuItem menuDateiSettings=new JMenuItem("Einstellungen");
|
||||
private JMenuItem menuDateiAbout=new JMenuItem("Über");
|
||||
private JMenuItem menuDateiClose=new JMenuItem("Schließen");
|
||||
|
||||
// Logo
|
||||
private String logoPfad="logo.png";
|
||||
|
||||
// Tabs mit den einzelnen PC-Komponenten:
|
||||
private JTabbedPane tabPane=new JTabbedPane(JTabbedPane.TOP);
|
||||
private JPanel panelTabCPU=new JPanel(null);
|
||||
private JPanel panelTabGPU=new JPanel(null);
|
||||
private JPanel panelTabStorage=new JPanel(null);
|
||||
private JPanel panelTabMemory=new JPanel(null);
|
||||
private JPanel panelTabOS=new JPanel(null);
|
||||
private JPanel panelTabPrice=new JPanel(null);
|
||||
private JPanel panelTabVorschau=new JPanel(null);
|
||||
|
||||
|
||||
// CPU-Eingabefelder und Beschriftungen:
|
||||
private JLabel labelCPUManufacturer=new JLabel("Hersteller:");
|
||||
private String cpuManufacturerList[]={"AMD", "Intel"};
|
||||
private JComboBox inputComboCPUManufacturer =new JComboBox(cpuManufacturerList);
|
||||
private JLabel labelCPUName=new JLabel("CPU-Name:");
|
||||
private JTextField inputCPUName=new JTextField();
|
||||
private JLabel labelCPUCores=new JLabel("Anzahl der Kerne:");
|
||||
private JTextField inputCPUCores=new JTextField();
|
||||
private JLabel labelCPUThreads=new JLabel("Anzahl der Threads:");
|
||||
private JTextField inputCPUThreads=new JTextField();
|
||||
private JLabel labelCPUFrequency=new JLabel("Frequenz in MHz:");
|
||||
private JTextField inputCPUFrequency=new JTextField();
|
||||
|
||||
|
||||
// GPU-Eingabefelder und Beschriftungen:
|
||||
private JLabel labelGPUManufacturer=new JLabel("Hersteller:");
|
||||
private String gpuManufacturerList[]={"NVIDIA","AMD", "Intel"};
|
||||
private JComboBox inputComboGPUManufacturer =new JComboBox(gpuManufacturerList);
|
||||
private JLabel labelGPUName=new JLabel("GPU-Name:");
|
||||
private JTextField inputGPUName=new JTextField();
|
||||
private JLabel labelGPUFrequency=new JLabel("Frequenz in MHz:");
|
||||
private JTextField inputGPUFrequency=new JTextField();
|
||||
|
||||
|
||||
// Datenträger-Eingabefelder und Beschriftungen:
|
||||
|
||||
private String driveCapacities[]={"120","128","240","250","256","480","500","512","750","1000","1024","2000","3000","4000","5000"};
|
||||
private String driveTypes[]={"SSD","HDD","SSHD"};
|
||||
|
||||
// 1
|
||||
private JLabel labelDrive1=new JLabel("Datenträger 1:");
|
||||
private JLabel labelDrive1Capacity=new JLabel("Kapazität in GB");
|
||||
private JComboBox inputDrive1Capacity=new JComboBox(driveCapacities);
|
||||
private JComboBox inputDrive1Type=new JComboBox(driveTypes);
|
||||
|
||||
// 2
|
||||
private JCheckBox inputDrive2Check=new JCheckBox();
|
||||
private JLabel labelDrive2=new JLabel("Datenträger 2:");
|
||||
private JLabel labelDrive2Capacity=new JLabel("Kapazität in GB");
|
||||
private JComboBox inputDrive2Capacity=new JComboBox(driveCapacities);
|
||||
private JComboBox inputDrive2Type=new JComboBox(driveTypes);
|
||||
|
||||
// 3
|
||||
private JCheckBox inputDrive3Check=new JCheckBox();
|
||||
private JLabel labelDrive3=new JLabel("Datenträger 3:");
|
||||
private JLabel labelDrive3Capacity=new JLabel("Kapazität in GB");
|
||||
private JComboBox inputDrive3Capacity=new JComboBox(driveCapacities);
|
||||
private JComboBox inputDrive3Type=new JComboBox(driveTypes);
|
||||
|
||||
// 4
|
||||
private JCheckBox inputDrive4Check=new JCheckBox();
|
||||
private JLabel labelDrive4=new JLabel("Datenträger 4:");
|
||||
private JLabel labelDrive4Capacity=new JLabel("Kapazität in GB");
|
||||
private JComboBox inputDrive4Capacity=new JComboBox(driveCapacities);
|
||||
private JComboBox inputDrive4Type=new JComboBox(driveTypes);
|
||||
|
||||
|
||||
// RAM-Eingabefelder und Beschriftungen:
|
||||
private JLabel labelRAMVersion=new JLabel("Version:");
|
||||
private String ramVersions[]={"DDR3","DDR4","DDR5"};
|
||||
private JComboBox inputRAMVersion=new JComboBox(ramVersions);
|
||||
private JLabel labelRAMCapacity=new JLabel("Kapazität in GB");
|
||||
private JTextField inputRAMCapacity=new JTextField();
|
||||
|
||||
|
||||
// OS-Eingabefelder und Beschriftungen:
|
||||
private JLabel labelOSName=new JLabel("Betriebssystem:");
|
||||
private JTextField inputOSName=new JTextField();
|
||||
|
||||
|
||||
// Price-Eingabefelder und Beschriftungen:
|
||||
private JLabel labelPrice =new JLabel("Preis in €:");
|
||||
private JTextField inputPrice =new JTextField();
|
||||
|
||||
// Vorschau-Eingabefelder und Beschriftungen:
|
||||
private static JLabel labelVorschau=new JLabel();
|
||||
private JButton buttonVorschau=new JButton("Aktualisieren");
|
||||
|
||||
public GUI(){
|
||||
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
|
||||
setSize(600,400);
|
||||
setResizable(false);
|
||||
setTitle("Computer-Datenblatt-Ersteller Pro");
|
||||
setLocationRelativeTo(null);
|
||||
|
||||
ImageIcon img=new ImageIcon(logoPfad);
|
||||
setIconImage(img.getImage());
|
||||
|
||||
setJMenuBar(menuBar);
|
||||
menuBar.add(menuDatei);
|
||||
|
||||
menuDatei.add(menuDateiPrint);
|
||||
menuDatei.add(menuDateiReset);
|
||||
menuDatei.add(menuDateiSettings);
|
||||
menuDatei.add(menuDateiAbout);
|
||||
menuDatei.add(menuDateiClose);
|
||||
|
||||
menuDatei.setMnemonic('D');
|
||||
menuDateiClose.setMnemonic('S');
|
||||
menuDateiSettings.setMnemonic('E');
|
||||
menuDateiPrint.setMnemonic('D');
|
||||
menuDateiReset.setMnemonic('r');
|
||||
menuDateiAbout.setMnemonic('Ü');
|
||||
|
||||
menuDateiClose.addActionListener(this);
|
||||
menuDateiSettings.addActionListener(this);
|
||||
menuDateiPrint.addActionListener(this);
|
||||
menuDateiReset.addActionListener(this);
|
||||
menuDateiAbout.addActionListener(this);
|
||||
|
||||
KeyStroke keyStrokeMenuPrint=KeyStroke.getKeyStroke(KeyEvent.VK_P, KeyEvent.CTRL_DOWN_MASK);
|
||||
menuDateiPrint.setAccelerator(keyStrokeMenuPrint);
|
||||
|
||||
KeyStroke keyStrokeMenuClose=KeyStroke.getKeyStroke(KeyEvent.VK_F4, KeyEvent.ALT_DOWN_MASK);
|
||||
menuDateiClose.setAccelerator(keyStrokeMenuClose);
|
||||
|
||||
KeyStroke keyStrokeMenuSettings=KeyStroke.getKeyStroke(KeyEvent.VK_COMMA, KeyEvent.CTRL_DOWN_MASK);
|
||||
menuDateiSettings.setAccelerator(keyStrokeMenuSettings);
|
||||
|
||||
KeyStroke keyStrokeMenuReset=KeyStroke.getKeyStroke(KeyEvent.VK_F4, KeyEvent.CTRL_DOWN_MASK);
|
||||
menuDateiReset.setAccelerator(keyStrokeMenuReset);
|
||||
|
||||
KeyStroke keyStrokeMenuAbout=KeyStroke.getKeyStroke(KeyEvent.VK_F1, KeyEvent.CTRL_DOWN_MASK);
|
||||
menuDateiAbout.setAccelerator(keyStrokeMenuAbout);
|
||||
|
||||
add(tabPane);
|
||||
|
||||
tabPane.addTab("CPU", panelTabCPU);
|
||||
tabPane.addTab("Grafik", panelTabGPU);
|
||||
tabPane.addTab("Datenträger", panelTabStorage);
|
||||
tabPane.addTab("RAM", panelTabMemory);
|
||||
tabPane.addTab("Betriebssystem", panelTabOS);
|
||||
tabPane.addTab("Preis", panelTabPrice);
|
||||
tabPane.addTab("Vorschau", panelTabVorschau);
|
||||
|
||||
|
||||
panelTabCPU.setFocusCycleRoot(true);
|
||||
panelTabGPU.setFocusCycleRoot(true);
|
||||
panelTabStorage.setFocusCycleRoot(true);
|
||||
panelTabMemory.setFocusCycleRoot(true);
|
||||
panelTabOS.setFocusCycleRoot(true);
|
||||
panelTabPrice.setFocusCycleRoot(true);
|
||||
|
||||
|
||||
setupTabTraversalKeys(tabPane);
|
||||
|
||||
int labelWidth=120;
|
||||
int labelHeight=15;
|
||||
int labelRow=10;
|
||||
int inputRow=labelWidth+labelRow+2;
|
||||
int addRow2=300;
|
||||
|
||||
// CPU-Eingabefelder und Beschriftungen:
|
||||
panelTabCPU.add(labelCPUManufacturer);
|
||||
labelCPUManufacturer.setBounds(labelRow,10,labelWidth,labelHeight);
|
||||
|
||||
panelTabCPU.add(inputComboCPUManufacturer);
|
||||
inputComboCPUManufacturer.setBounds(inputRow,6,100,20);
|
||||
|
||||
panelTabCPU.add(labelCPUName);
|
||||
labelCPUName.setBounds(labelRow,30,labelWidth,labelHeight);
|
||||
|
||||
panelTabCPU.add(inputCPUName);
|
||||
inputCPUName.setBounds(inputRow,27,100,20);
|
||||
|
||||
panelTabCPU.add(labelCPUCores);
|
||||
labelCPUCores.setBounds(labelRow,50,labelWidth,labelHeight);
|
||||
|
||||
panelTabCPU.add(inputCPUCores);
|
||||
inputCPUCores.setBounds(inputRow,47,30,20);
|
||||
|
||||
panelTabCPU.add(labelCPUThreads);
|
||||
labelCPUThreads.setBounds(labelRow,70,labelWidth,labelHeight);
|
||||
|
||||
panelTabCPU.add(inputCPUThreads);
|
||||
inputCPUThreads.setBounds(inputRow,67,30,20);
|
||||
|
||||
panelTabCPU.add(labelCPUFrequency);
|
||||
labelCPUFrequency.setBounds(labelRow,90,labelWidth,labelHeight);
|
||||
|
||||
panelTabCPU.add(inputCPUFrequency);
|
||||
inputCPUFrequency.setBounds(inputRow,87,50,20);
|
||||
|
||||
// GPU-Eingabefelder und Beschriftungen:
|
||||
panelTabGPU.add(labelGPUManufacturer);
|
||||
labelGPUManufacturer.setBounds(labelRow,10,labelWidth,labelHeight);
|
||||
|
||||
panelTabGPU.add(inputComboGPUManufacturer);
|
||||
inputComboGPUManufacturer.setBounds(inputRow,6,100,20);
|
||||
|
||||
panelTabGPU.add(labelGPUName);
|
||||
labelGPUName.setBounds(labelRow,30,labelWidth,labelHeight);
|
||||
|
||||
panelTabGPU.add(inputGPUName);
|
||||
inputGPUName.setBounds(inputRow,27,100,20);
|
||||
|
||||
panelTabGPU.add(labelGPUFrequency);
|
||||
labelGPUFrequency.setBounds(labelRow,50,labelWidth,labelHeight);
|
||||
|
||||
panelTabGPU.add(inputGPUFrequency);
|
||||
inputGPUFrequency.setBounds(inputRow,47,50,20);
|
||||
|
||||
|
||||
// Datenträger-Eingabefelder und Beschriftungen:
|
||||
|
||||
inputDrive2Check.addActionListener(this);
|
||||
inputDrive3Check.addActionListener(this);
|
||||
inputDrive4Check.addActionListener(this);
|
||||
buttonVorschau.addActionListener(this);
|
||||
|
||||
inputDrive3Check.setEnabled(false);
|
||||
inputDrive4Check.setEnabled(false);
|
||||
|
||||
// 1
|
||||
panelTabStorage.add(labelDrive1);
|
||||
labelDrive1.setBounds(labelRow+50,10,labelWidth,labelHeight);
|
||||
|
||||
panelTabStorage.add(labelDrive1Capacity);
|
||||
labelDrive1Capacity.setBounds(labelRow,30,labelWidth,labelHeight);
|
||||
|
||||
panelTabStorage.add(inputDrive1Capacity);
|
||||
inputDrive1Capacity.setBounds(inputRow-30,27,100,20);
|
||||
|
||||
panelTabStorage.add(inputDrive1Type);
|
||||
inputDrive1Type.setBounds(inputRow-30,48,60,20);
|
||||
|
||||
// 2
|
||||
panelTabStorage.add(labelDrive2);
|
||||
labelDrive2.setBounds(labelRow+50,100,labelWidth,labelHeight);
|
||||
|
||||
panelTabStorage.add(inputDrive2Check);
|
||||
inputDrive2Check.setBounds(labelRow+180,95,20,20);
|
||||
|
||||
panelTabStorage.add(labelDrive2Capacity);
|
||||
labelDrive2Capacity.setBounds(labelRow,120,labelWidth,labelHeight);
|
||||
|
||||
panelTabStorage.add(inputDrive2Capacity);
|
||||
inputDrive2Capacity.setBounds(inputRow-30,120,100,20);
|
||||
|
||||
panelTabStorage.add(inputDrive2Type);
|
||||
inputDrive2Type.setBounds(inputRow-30,141,60,20);
|
||||
|
||||
// 3
|
||||
panelTabStorage.add(labelDrive3);
|
||||
labelDrive3.setBounds(labelRow+50+addRow2,10,labelWidth,labelHeight);
|
||||
|
||||
panelTabStorage.add(inputDrive3Check);
|
||||
inputDrive3Check.setBounds(labelRow+180+addRow2,5,20,20);
|
||||
|
||||
panelTabStorage.add(labelDrive3Capacity);
|
||||
labelDrive3Capacity.setBounds(labelRow+addRow2,27,labelWidth,labelHeight);
|
||||
|
||||
panelTabStorage.add(inputDrive3Capacity);
|
||||
inputDrive3Capacity.setBounds(inputRow-30+addRow2,27,100,20);
|
||||
|
||||
panelTabStorage.add(inputDrive3Type);
|
||||
inputDrive3Type.setBounds(inputRow-30+addRow2,48,60,20);
|
||||
|
||||
// 4
|
||||
panelTabStorage.add(labelDrive4);
|
||||
labelDrive4.setBounds(labelRow+50+addRow2,100,labelWidth,labelHeight);
|
||||
|
||||
panelTabStorage.add(inputDrive4Check);
|
||||
inputDrive4Check.setBounds(labelRow+180+addRow2,95,20,20);
|
||||
|
||||
panelTabStorage.add(labelDrive4Capacity);
|
||||
labelDrive4Capacity.setBounds(labelRow+addRow2,120,labelWidth,labelHeight);
|
||||
|
||||
panelTabStorage.add(inputDrive4Capacity);
|
||||
inputDrive4Capacity.setBounds(inputRow-30+addRow2,120,100,20);
|
||||
|
||||
panelTabStorage.add(inputDrive4Type);
|
||||
inputDrive4Type.setBounds(inputRow-30+addRow2,141,60,20);
|
||||
|
||||
|
||||
// RAM-Eingabefelder und Beschriftungen:
|
||||
panelTabMemory.add(labelRAMVersion);
|
||||
labelRAMVersion.setBounds(labelRow,10,labelWidth,labelHeight);
|
||||
|
||||
panelTabMemory.add(inputRAMVersion);
|
||||
inputRAMVersion.setBounds(inputRow,6,100,20);
|
||||
|
||||
panelTabMemory.add(labelRAMCapacity);
|
||||
labelRAMCapacity.setBounds(labelRow,30,labelWidth,labelHeight);
|
||||
|
||||
panelTabMemory.add(inputRAMCapacity);
|
||||
inputRAMCapacity.setBounds(inputRow,27,30,20);
|
||||
|
||||
// OS-Eingabefelder und Beschriftungen:
|
||||
panelTabOS.add(labelOSName);
|
||||
labelOSName.setBounds(labelRow,10,labelWidth,labelHeight);
|
||||
|
||||
panelTabOS.add(inputOSName);
|
||||
inputOSName.setBounds(inputRow,6,200,20);
|
||||
|
||||
//Price-Eingabefelder und Beschriftungen:
|
||||
panelTabPrice.add(labelPrice);
|
||||
labelPrice.setBounds(labelRow,10,labelWidth,labelHeight);
|
||||
|
||||
panelTabPrice.add(inputPrice);
|
||||
inputPrice.setBounds(inputRow-45,6,50,20);
|
||||
|
||||
// Vorschau-Eingabefelder und Beschriftungen:
|
||||
panelTabVorschau.add(buttonVorschau);
|
||||
buttonVorschau.setMnemonic('A');
|
||||
buttonVorschau.setBounds(labelRow,10,labelWidth-5,labelHeight+10);
|
||||
|
||||
panelTabVorschau.add(labelVorschau);
|
||||
labelVorschau.setBounds(150,5,300,300);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
if (e.getSource()==menuDateiClose){
|
||||
dispose();
|
||||
} else if (e.getSource()==menuDateiSettings) {
|
||||
System.out.println("Einstellungsfenster ploppt auf...");
|
||||
new SettingsWindow(this).setVisible(true);
|
||||
} else if (e.getSource()==menuDateiPrint) {
|
||||
inputToProperty();
|
||||
Print.createPDF();
|
||||
Print.toPrint(false, this);
|
||||
} else if (e.getSource()==menuDateiReset) {
|
||||
clearFeatures();
|
||||
} else if (e.getSource()==menuDateiAbout) {
|
||||
System.out.println("Ein Fenster öffnet sich, in dem angezeigt wird, von wem das Programm ist...");
|
||||
aboutDialog(this);
|
||||
} else if (e.getSource()==inputDrive2Check) {
|
||||
if (inputDrive2Check.isSelected()){
|
||||
inputDrive3Check.setEnabled(true);
|
||||
inputDrive3Check.setSelected(false);
|
||||
|
||||
inputDrive4Check.setEnabled(false);
|
||||
inputDrive4Check.setSelected(false);
|
||||
} else {
|
||||
inputDrive3Check.setEnabled(false);
|
||||
inputDrive3Check.setSelected(false);
|
||||
|
||||
inputDrive4Check.setEnabled(false);
|
||||
inputDrive4Check.setSelected(false);
|
||||
}
|
||||
|
||||
} else if (e.getSource()==inputDrive3Check) {
|
||||
if (inputDrive3Check.isSelected()){
|
||||
inputDrive4Check.setEnabled(true);
|
||||
inputDrive4Check.setSelected(false);
|
||||
} else {
|
||||
inputDrive4Check.setEnabled(false);
|
||||
inputDrive4Check.setSelected(false);
|
||||
}
|
||||
} else if (e.getSource()==buttonVorschau) {
|
||||
view();
|
||||
Print.printerList();
|
||||
}
|
||||
}
|
||||
|
||||
public void view(){
|
||||
inputToProperty();
|
||||
Print.createPDF();
|
||||
Delay.delay(100);
|
||||
pdf2PNG.convert();
|
||||
|
||||
BufferedImage img=null;
|
||||
try {
|
||||
img=ImageIO.read(new File("Datenblatt.png"));
|
||||
} catch (IOException e) {
|
||||
System.out.println("Fehler");
|
||||
}
|
||||
Image image= img.getScaledInstance(labelVorschau.getWidth(), labelVorschau.getHeight(), Image.SCALE_SMOOTH);
|
||||
labelVorschau.setIcon(new ImageIcon(image));
|
||||
labelVorschau.setBorder(BorderFactory.createLineBorder(Color.BLACK,1));
|
||||
|
||||
File x=new File("Datenblatt.pdf");
|
||||
File y=new File("Datenblatt.png");
|
||||
|
||||
}
|
||||
|
||||
public static void aboutDialog(JFrame positionParent) {
|
||||
JLabel aboutLabel=new JLabel("<html><center>Datenblatt-Ersteller<br>für PCs und Notebooks<br><br>Version: " + programVersion + "<br><br>Programmiert von<br>Dejan Hopp<br>\u00a92023");
|
||||
aboutLabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||
JOptionPane.showMessageDialog(positionParent, aboutLabel, "Über", JOptionPane.PLAIN_MESSAGE);
|
||||
}
|
||||
|
||||
|
||||
// Inhalte der Textfelder in die Properties schreiben
|
||||
public void inputToProperty(){
|
||||
Datenblatt.cpu.setProperty("manufacturer", inputComboCPUManufacturer.getSelectedItem().toString());
|
||||
Datenblatt.cpu.setProperty("name", inputCPUName.getText());
|
||||
Datenblatt.cpu.setProperty("cores", inputCPUCores.getText());
|
||||
Datenblatt.cpu.setProperty("threads", inputCPUThreads.getText());
|
||||
Datenblatt.cpu.setProperty("mhz", inputCPUFrequency.getText());
|
||||
|
||||
Datenblatt.gpu.setProperty("manufacturer", inputComboGPUManufacturer.getSelectedItem().toString());
|
||||
Datenblatt.gpu.setProperty("name", inputGPUName.getText());
|
||||
Datenblatt.gpu.setProperty("mhz", inputGPUFrequency.getText());
|
||||
|
||||
Datenblatt.storage.setProperty("drive1Type", inputDrive1Type.getSelectedItem().toString());
|
||||
Datenblatt.storage.setProperty("drive1Capacity", inputDrive1Capacity.getSelectedItem().toString());
|
||||
|
||||
if (inputDrive2Check.isSelected()){
|
||||
Datenblatt.storageAnzahl=2;
|
||||
}
|
||||
if (inputDrive3Check.isSelected()){
|
||||
Datenblatt.storageAnzahl=3;
|
||||
}
|
||||
if (inputDrive4Check.isSelected()){
|
||||
Datenblatt.storageAnzahl=4;
|
||||
}
|
||||
|
||||
if (inputDrive2Check.isSelected()){
|
||||
Datenblatt.storage.setProperty("drive2Type", inputDrive2Type.getSelectedItem().toString());
|
||||
Datenblatt.storage.setProperty("drive2Capacity", inputDrive2Capacity.getSelectedItem().toString());
|
||||
}
|
||||
if (inputDrive3Check.isSelected()){
|
||||
Datenblatt.storage.setProperty("drive3Type", inputDrive3Type.getSelectedItem().toString());
|
||||
Datenblatt.storage.setProperty("drive3Capacity", inputDrive3Capacity.getSelectedItem().toString());
|
||||
}
|
||||
if (inputDrive4Check.isSelected()){
|
||||
Datenblatt.storage.setProperty("drive4Type", inputDrive4Type.getSelectedItem().toString());
|
||||
Datenblatt.storage.setProperty("drive4Capacity", inputDrive4Capacity.getSelectedItem().toString());
|
||||
}
|
||||
|
||||
Datenblatt.memory.setProperty("ddrVersion", inputRAMVersion.getSelectedItem().toString());
|
||||
Datenblatt.memory.setProperty("capacity", inputRAMCapacity.getText());
|
||||
|
||||
Datenblatt.os.setProperty("name", inputOSName.getText());
|
||||
|
||||
Datenblatt.price.setProperty("EUR", inputPrice.getText());
|
||||
}
|
||||
|
||||
|
||||
// Folgende Funktion wurde von https://www.davidc.net/programming/java/how-make-ctrl-tab-switch-tabs-jtabbedpane kopiert:
|
||||
// Die Funktion sorgt dafür, dass man mit STRG+Tab und STRG+Shift+Tab durch die Tabs Navigieren kann.
|
||||
private void setupTabTraversalKeys(JTabbedPane tabbedPane)
|
||||
{
|
||||
KeyStroke ctrlTab = KeyStroke.getKeyStroke("ctrl TAB");
|
||||
KeyStroke ctrlShiftTab = KeyStroke.getKeyStroke("ctrl shift TAB");
|
||||
|
||||
// Remove ctrl-tab from normal focus traversal
|
||||
Set<AWTKeyStroke> forwardKeys = new HashSet<AWTKeyStroke>(tabbedPane.getFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS));
|
||||
forwardKeys.remove(ctrlTab);
|
||||
tabbedPane.setFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, forwardKeys);
|
||||
|
||||
// Remove ctrl-shift-tab from normal focus traversal
|
||||
Set<AWTKeyStroke> backwardKeys = new HashSet<AWTKeyStroke>(tabbedPane.getFocusTraversalKeys(KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS));
|
||||
backwardKeys.remove(ctrlShiftTab);
|
||||
tabbedPane.setFocusTraversalKeys(KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, backwardKeys);
|
||||
|
||||
// Add keys to the tab's input map
|
||||
InputMap inputMap = tabbedPane.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
|
||||
inputMap.put(ctrlTab, "navigateNext");
|
||||
inputMap.put(ctrlShiftTab, "navigatePrevious");
|
||||
}
|
||||
|
||||
public void clearFeatures(){
|
||||
// Features aus Properties löschen:
|
||||
Datenblatt.cpu.clear();
|
||||
Datenblatt.gpu.clear();
|
||||
Datenblatt.storage.clear();
|
||||
Datenblatt.memory.clear();
|
||||
Datenblatt.os.clear();
|
||||
Datenblatt.price.clear();
|
||||
|
||||
Datenblatt.storageAnzahl=1;
|
||||
|
||||
// Features aus Textfeldern löschen:
|
||||
inputCPUName.setText("");
|
||||
inputCPUCores.setText("");
|
||||
inputCPUThreads.setText("");
|
||||
inputCPUFrequency.setText("");
|
||||
|
||||
inputGPUName.setText("");
|
||||
inputGPUFrequency.setText("");
|
||||
|
||||
inputDrive2Check.setSelected(false);
|
||||
inputDrive3Check.setSelected(false);
|
||||
inputDrive4Check.setSelected(false);
|
||||
|
||||
inputDrive3Check.setEnabled(false);
|
||||
inputDrive4Check.setEnabled(false);
|
||||
|
||||
inputRAMCapacity.setText("");
|
||||
|
||||
inputOSName.setText("");
|
||||
|
||||
inputPrice.setText("");
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dispose(){
|
||||
System.exit(0);
|
||||
}
|
||||
|
||||
}
|
||||
130
Datenblatt/src/main/java/de/dejan_hopp/Main.java
Normal file
130
Datenblatt/src/main/java/de/dejan_hopp/Main.java
Normal file
@@ -0,0 +1,130 @@
|
||||
package de.dejan_hopp;
|
||||
|
||||
import de.dejan_hopp.io.*;
|
||||
|
||||
public class Main {
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
||||
try{
|
||||
if (args[0].equals("nogui")){
|
||||
System.out.println("Programm ohne GUI gestartet");
|
||||
} else {
|
||||
System.out.println("FEHLER: Kein gültiger Startparameter!");
|
||||
}
|
||||
} catch(ArrayIndexOutOfBoundsException aioE){
|
||||
System.out.println("Programm ohne Startparameter gestartet");
|
||||
new GUI().setVisible(true);
|
||||
}
|
||||
|
||||
|
||||
System.out.println(" Datenblatt-Editor");
|
||||
System.out.println("<#################>\n");
|
||||
|
||||
while(true){
|
||||
//Menu
|
||||
System.out.println("Menü:");
|
||||
System.out.println("[1]Datenblatt erstellen ]");
|
||||
System.out.println("[2]Datenblatt bearbeiten]");
|
||||
System.out.println("[3]Drucken ]");
|
||||
System.out.println("[4]Datenblatt anzeigen ]");
|
||||
System.out.println("[5]Beenden ]");
|
||||
System.out.print(">");
|
||||
|
||||
int in=0;
|
||||
try {
|
||||
in=Integer.parseInt(Kbd.readString());
|
||||
if (in<1||in>5) throw new Exception();
|
||||
} catch(Exception e) {
|
||||
System.out.println("Bitte eine Zahl von 1-5 eingeben");
|
||||
}
|
||||
|
||||
|
||||
switch (in) {
|
||||
case 1: create(); break;
|
||||
case 2: edit(); break;
|
||||
case 3: Print.createPDF();Print.toPrint(true,null); break;
|
||||
case 4: show(); break;
|
||||
case 5: exit(); break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
public static void create(){
|
||||
System.out.println("\n\nFeature hinzufügen:");
|
||||
System.out.println("[1]CPU ]");
|
||||
System.out.println("[2]Grafik ]");
|
||||
System.out.println("[3]Datenträger ]");
|
||||
System.out.println("[4]RAM ]");
|
||||
System.out.println("[5]Betriebssystem]");
|
||||
System.out.println("[6]Preis ]");
|
||||
System.out.println("[7]RESET ]");
|
||||
System.out.print(">");
|
||||
|
||||
int in=0;
|
||||
try {
|
||||
in=Integer.parseInt(Kbd.readString());
|
||||
if (in<1||in>5) throw new Exception();
|
||||
} catch(Exception e) {
|
||||
System.out.println("Bitte eine Zahl von 1-5 eingeben");
|
||||
}
|
||||
|
||||
System.out.println();
|
||||
|
||||
switch (in){
|
||||
case 1: Features.cpu(); break;
|
||||
case 2: Features.gpu(); break;
|
||||
case 3: Features.storage(); break;
|
||||
case 4: Features.memory(); break;
|
||||
case 5: Features.os(); break;
|
||||
case 6: Features.setPrice(); break;
|
||||
case 7: Features.clearFeatures(); break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static void edit(){
|
||||
System.out.println("\n\nFeature bearbeiten:");
|
||||
System.out.println("[1]CPU ]");
|
||||
System.out.println("[2]Grafik ]");
|
||||
System.out.println("[3]Datenträger ]");
|
||||
System.out.println("[4]RAM ]");
|
||||
System.out.println("[5]Betriebssystem]");
|
||||
System.out.println("[6]Preis ]");
|
||||
System.out.println("[7]RESET ]");
|
||||
System.out.print(">");
|
||||
|
||||
int in=0;
|
||||
try {
|
||||
in=Integer.parseInt(Kbd.readString());
|
||||
if (in<1||in>5) throw new Exception();
|
||||
} catch(Exception e) {
|
||||
System.out.println("Bitte eine Zahl von 1-5 eingeben");
|
||||
}
|
||||
|
||||
System.out.println();
|
||||
|
||||
switch (in){
|
||||
case 1: Features.cpu(); break;
|
||||
case 2: Features.gpu(); break;
|
||||
case 3: Features.storage(); break;
|
||||
case 4: Features.memory(); break;
|
||||
case 5: Features.os(); break;
|
||||
case 6: Features.setPrice(); break;
|
||||
case 7: Features.clearFeatures(); break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public static void show(){
|
||||
DisplayConsole.show(Datenblatt.cpu, Datenblatt.gpu, Datenblatt.storage, Datenblatt.memory, Datenblatt.os, Datenblatt.price);
|
||||
}
|
||||
|
||||
public static void exit(){
|
||||
System.out.println("Beenden...");
|
||||
System.exit(0);
|
||||
}
|
||||
|
||||
}
|
||||
58
Datenblatt/src/main/java/de/dejan_hopp/SettingsWindow.java
Normal file
58
Datenblatt/src/main/java/de/dejan_hopp/SettingsWindow.java
Normal file
@@ -0,0 +1,58 @@
|
||||
package de.dejan_hopp;
|
||||
|
||||
import de.dejan_hopp.io.Print;
|
||||
import de.dejan_hopp.io.RWConfigFile;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
|
||||
public class SettingsWindow extends JDialog implements ActionListener {
|
||||
private JComboBox inputPrinterList=new JComboBox(Print.printerList());
|
||||
private JLabel labelPrinterSelect=new JLabel("Drucker:");
|
||||
private JButton buttonSave=new JButton("Speichern");
|
||||
private JButton buttonCancle=new JButton("Abbrechen");
|
||||
|
||||
public SettingsWindow(JFrame frame){
|
||||
setLocationRelativeTo(frame);
|
||||
setTitle("Einstellungen");
|
||||
setLayout(null);
|
||||
setModal(true);
|
||||
setSize(400,300);
|
||||
|
||||
buttonSave.addActionListener(this);
|
||||
buttonCancle.addActionListener(this);
|
||||
|
||||
|
||||
// logo
|
||||
Image img = new ImageIcon("logo.png").getImage();
|
||||
setIconImage(img);
|
||||
|
||||
add(labelPrinterSelect).setBounds(5,10,70,20);
|
||||
labelPrinterSelect.setDisplayedMnemonic('D');
|
||||
labelPrinterSelect.setLabelFor(inputPrinterList);
|
||||
|
||||
add(inputPrinterList).setBounds(80,10,250,20);
|
||||
inputPrinterList.setSelectedItem(RWConfigFile.getPrinterName());
|
||||
|
||||
add(buttonCancle).setBounds(5,230,110,30);
|
||||
buttonCancle.setMnemonic('A');
|
||||
|
||||
add(buttonSave).setBounds(120,230,110,30);
|
||||
buttonSave.setMnemonic('S');
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
if (e.getSource()==buttonSave){
|
||||
System.out.println("Speichern und Einstellungsfenster schließen");
|
||||
RWConfigFile.setPrinter(inputPrinterList.getSelectedItem().toString());
|
||||
dispose();
|
||||
} else if (e.getSource()==buttonCancle) {
|
||||
System.out.println("Abbrechen und Einstellungsfenster schließen");
|
||||
dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
14
Datenblatt/src/main/java/de/dejan_hopp/io/Delay.java
Normal file
14
Datenblatt/src/main/java/de/dejan_hopp/io/Delay.java
Normal file
@@ -0,0 +1,14 @@
|
||||
package de.dejan_hopp.io;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
public class Delay {
|
||||
|
||||
//https://javabeginners.de/Grundlagen/Zeitsteuerung_ohne_Threads.php#:~:text=Nach%20jedem%20Durchlauf%20wird%20die,der%20aktuellen%20Unix%2DZeit%20beginnt.
|
||||
public static void delay(int milliseconds){
|
||||
long ende=(new Date()).getTime() + milliseconds;
|
||||
while ((new Date()).getTime() < ende){
|
||||
// abwarten und Tee trinken
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
package de.dejan_hopp.io;
|
||||
|
||||
import de.dejan_hopp.Datenblatt;
|
||||
import java.util.Properties;
|
||||
|
||||
public class DisplayConsole {
|
||||
public static void show(Properties cpu, Properties gpu, Properties storage, Properties memory, Properties os, Properties price){
|
||||
System.out.println("Prozessor:");
|
||||
System.out.println("+"+cpu.getProperty("manufacturer"));
|
||||
System.out.println("+"+cpu.getProperty("name"));
|
||||
System.out.println("+"+cpu.getProperty("cores")+" Kerne - "+cpu.getProperty("threads")+" Threads");
|
||||
System.out.println("+"+cpu.getProperty("mhr")+" MHz");
|
||||
System.out.println("--------------------");
|
||||
System.out.println("Grafik:");
|
||||
System.out.println("+"+gpu.getProperty("manufacturer"));
|
||||
System.out.println("+"+gpu.getProperty("name"));
|
||||
System.out.println("+"+gpu.getProperty("mhz")+" MHz");
|
||||
System.out.println("--------------------");
|
||||
System.out.println("Datenträger:");
|
||||
|
||||
if(Datenblatt.storageAnzahl==1){
|
||||
System.out.print("Datenträger 1:");
|
||||
System.out.println(storage.getProperty("drive1Capacity")+" GB "+storage.getProperty("drive1Type"));
|
||||
} else if (Datenblatt.storageAnzahl==2) {
|
||||
//Datenträger 1
|
||||
System.out.print("Datenträger 1:");
|
||||
System.out.println(storage.getProperty("drive1Capacity")+" GB "+storage.getProperty("drive1Type"));
|
||||
|
||||
//Datenträger 2
|
||||
System.out.print("Datenträger 2:");
|
||||
System.out.println(storage.getProperty("drive2Capacity")+" GB "+storage.getProperty("drive2Type"));
|
||||
|
||||
} else if (Datenblatt.storageAnzahl==3) {
|
||||
//Datenträger 1
|
||||
System.out.print("Datenträger 1:");
|
||||
System.out.println(storage.getProperty("drive1Capacity")+" GB "+storage.getProperty("drive1Type"));
|
||||
|
||||
//Datenträger 2
|
||||
System.out.print("Datenträger 2:");
|
||||
System.out.println(storage.getProperty("drive2Capacity")+" GB "+storage.getProperty("drive2Type"));
|
||||
|
||||
//Datenträger 3
|
||||
System.out.print("Datenträger 3:");
|
||||
System.out.println(storage.getProperty("drive3Capacity")+" GB "+storage.getProperty("drive3Type"));
|
||||
|
||||
} else if (Datenblatt.storageAnzahl==4) {
|
||||
//Datenträger 1
|
||||
System.out.print("Datenträger 1:");
|
||||
System.out.println(storage.getProperty("drive1Capacity")+" GB "+storage.getProperty("drive1Type"));
|
||||
|
||||
//Datenträger 2
|
||||
System.out.print("Datenträger 2:");
|
||||
System.out.println(storage.getProperty("drive2Capacity")+" GB "+storage.getProperty("drive2Type"));
|
||||
|
||||
//Datenträger 3
|
||||
System.out.print("Datenträger 3:");
|
||||
System.out.println(storage.getProperty("drive3Capacity")+" GB "+storage.getProperty("drive3Type"));
|
||||
|
||||
//Datenträger 4
|
||||
System.out.print("Datenträger 4:");
|
||||
System.out.println(storage.getProperty("drive4Capacity")+" GB "+storage.getProperty("drive4Type"));
|
||||
}
|
||||
|
||||
System.out.println("--------------------");
|
||||
System.out.println("Arbeitsspeicher:");
|
||||
System.out.println("+"+memory.getProperty("capacity")+" GB "+memory.getProperty("ddrVersion"));
|
||||
System.out.println("--------------------");
|
||||
System.out.println("Betriebssystem:");
|
||||
System.out.println(os.getProperty("name"));
|
||||
System.out.println("--------------------");
|
||||
System.out.println("Preis:");
|
||||
System.out.println(price.getProperty("EUR"));
|
||||
System.out.println("--------------------\n\n");
|
||||
}
|
||||
}
|
||||
23
Datenblatt/src/main/java/de/dejan_hopp/io/Kbd.java
Normal file
23
Datenblatt/src/main/java/de/dejan_hopp/io/Kbd.java
Normal file
@@ -0,0 +1,23 @@
|
||||
package de.dejan_hopp.io;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
|
||||
public class Kbd {
|
||||
public static String readString(){
|
||||
try {
|
||||
BufferedReader r=new BufferedReader(new InputStreamReader(System.in));
|
||||
return r.readLine();
|
||||
} catch (IOException ioe) {
|
||||
System.out.println(ioe);
|
||||
return "FEHLER BEIM EINLESEN!";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static int readInt() throws IOException{
|
||||
BufferedReader r=new BufferedReader(new InputStreamReader(System.in));
|
||||
return Integer.parseInt(r.readLine());
|
||||
}
|
||||
}
|
||||
257
Datenblatt/src/main/java/de/dejan_hopp/io/Print.java
Normal file
257
Datenblatt/src/main/java/de/dejan_hopp/io/Print.java
Normal file
@@ -0,0 +1,257 @@
|
||||
package de.dejan_hopp.io;
|
||||
|
||||
import com.itextpdf.text.Document;
|
||||
import com.itextpdf.text.Font;
|
||||
import com.itextpdf.text.Phrase;
|
||||
import com.itextpdf.text.Rectangle;
|
||||
import com.itextpdf.text.pdf.*;
|
||||
import de.dejan_hopp.Datenblatt;
|
||||
import org.apache.pdfbox.pdmodel.PDDocument;
|
||||
import org.apache.pdfbox.printing.PDFPageable;
|
||||
|
||||
import javax.print.PrintService;
|
||||
import javax.print.PrintServiceLookup;
|
||||
import javax.swing.*;
|
||||
import java.awt.print.PrinterException;
|
||||
import java.awt.print.PrinterJob;
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
|
||||
public class Print {
|
||||
|
||||
private static final String pdfPathName ="Datenblatt.pdf";
|
||||
public static void createPDF(){
|
||||
System.out.println("Erstelle PDF-Datei...");
|
||||
File file = null;
|
||||
|
||||
try {
|
||||
Document doc=new Document();
|
||||
file=new File(pdfPathName);
|
||||
PdfWriter writer=PdfWriter.getInstance(doc, Files.newOutputStream(file.toPath()));
|
||||
|
||||
Rectangle etikett = new Rectangle(228,228); // entspricht 8cm x 8cm
|
||||
|
||||
doc.setPageSize(etikett);
|
||||
doc.setMargins(0,0,40,10);
|
||||
|
||||
doc.open();
|
||||
|
||||
PdfContentByte cb=writer.getDirectContent();
|
||||
BaseFont bf= BaseFont.createFont(BaseFont.HELVETICA_BOLD,BaseFont.CP1250,true);
|
||||
BaseFont bf2= BaseFont.createFont(BaseFont.HELVETICA_BOLDOBLIQUE,BaseFont.CP1250,true);
|
||||
|
||||
cb.beginText();
|
||||
cb.setFontAndSize(bf, 20);
|
||||
cb.moveText(50,210);
|
||||
cb.showText("Überschrift");
|
||||
cb.endText();
|
||||
|
||||
cb.beginText();
|
||||
cb.setFontAndSize(bf, 12);
|
||||
cb.moveText(85,190);
|
||||
cb.showText("Datenblatt:");
|
||||
cb.endText();
|
||||
|
||||
cb.beginText();
|
||||
cb.setFontAndSize(bf, 12);
|
||||
cb.moveText(145,5);
|
||||
cb.showText("Preis: "+Datenblatt.price.get("EUR").toString()+"€");
|
||||
cb.endText();
|
||||
|
||||
cb.beginText();
|
||||
cb.setFontAndSize(bf, 12);
|
||||
cb.moveText(10,5);
|
||||
cb.showText("Inkl. Windows");
|
||||
cb.endText();
|
||||
|
||||
Font tableFont = new Font(Font.FontFamily.HELVETICA,9, Font.BOLDITALIC);
|
||||
Font tableFontHead = new Font(Font.FontFamily.HELVETICA,9, Font.BOLD);
|
||||
|
||||
|
||||
PdfPTable tabelleCPU=new PdfPTable(1);
|
||||
|
||||
int tableWidth=100;
|
||||
|
||||
tabelleCPU.setTotalWidth(tableWidth);
|
||||
tabelleCPU.setLockedWidth(true);
|
||||
tabelleCPU.addCell(new PdfPCell(new Phrase("Prozessor:",tableFontHead))).setBorderWidth(1);
|
||||
tabelleCPU.addCell(new PdfPCell(new Phrase(Datenblatt.cpu.getProperty("manufacturer"),tableFont))).setBorderWidth(1);
|
||||
tabelleCPU.addCell(new PdfPCell(new Phrase(Datenblatt.cpu.getProperty("name") +" ",tableFont))).setBorderWidth(1);
|
||||
tabelleCPU.addCell(new PdfPCell(new Phrase(Datenblatt.cpu.getProperty("cores") +" Kerne - "+ Datenblatt.cpu.getProperty("threads") +" Threads",tableFont))).setBorderWidth(1);
|
||||
tabelleCPU.addCell(new PdfPCell(new Phrase(Datenblatt.cpu.getProperty("mhz") +" MHz",tableFont))).setBorderWidth(1);
|
||||
tabelleCPU.setHeaderRows(1);
|
||||
|
||||
PdfPTable tabelleGPU=new PdfPTable(1);
|
||||
|
||||
tabelleGPU.setTotalWidth(tableWidth);
|
||||
tabelleGPU.setLockedWidth(true);
|
||||
tabelleGPU.addCell(new PdfPCell(new Phrase("Grafik:",tableFontHead))).setBorderWidth(1);
|
||||
tabelleGPU.addCell(new PdfPCell(new Phrase(Datenblatt.gpu.getProperty("manufacturer"),tableFont))).setBorderWidth(1);
|
||||
tabelleGPU.addCell(new PdfPCell(new Phrase(Datenblatt.gpu.getProperty("name") +" ",tableFont))).setBorderWidth(1);
|
||||
tabelleGPU.addCell(new PdfPCell(new Phrase(Datenblatt.gpu.getProperty("mhz") +" MHz",tableFont))).setBorderWidth(1);
|
||||
tabelleGPU.setHeaderRows(1);
|
||||
|
||||
|
||||
PdfPTable tabelleRAM=new PdfPTable(1);
|
||||
|
||||
tabelleRAM.setTotalWidth(tableWidth);
|
||||
tabelleRAM.setLockedWidth(true);
|
||||
tabelleRAM.addCell(new PdfPCell(new Phrase("Arbeitsspeicher:",tableFontHead))).setBorderWidth(1);
|
||||
tabelleRAM.addCell(new PdfPCell(new Phrase(Datenblatt.memory.getProperty("capacity")+" GB - "+Datenblatt.memory.getProperty("ddrVersion"),tableFont))).setBorderWidth(1);
|
||||
tabelleRAM.setHeaderRows(1);
|
||||
|
||||
// Betriebssystem:
|
||||
cb.beginText();
|
||||
cb.setFontAndSize(bf2, 12);
|
||||
cb.moveText(10,20);
|
||||
cb.showText(Datenblatt.os.getProperty("name"));
|
||||
cb.endText();
|
||||
|
||||
PdfPTable tabelleStorage=new PdfPTable(1);
|
||||
|
||||
if (Datenblatt.storageAnzahl==1){
|
||||
|
||||
|
||||
tabelleStorage.setTotalWidth(tableWidth);
|
||||
tabelleStorage.setLockedWidth(true);
|
||||
tabelleStorage.addCell(new PdfPCell(new Phrase("Datenträger:",tableFontHead))).setBorderWidth(1);
|
||||
tabelleStorage.addCell(new PdfPCell(new Phrase(Datenblatt.storage.getProperty("drive1Capacity")+" GB "+Datenblatt.storage.getProperty("drive1Type"),tableFont))).setBorderWidth(1);
|
||||
} else if (Datenblatt.storageAnzahl==2) {
|
||||
|
||||
tabelleStorage.setTotalWidth(tableWidth);
|
||||
tabelleStorage.setLockedWidth(true);
|
||||
tabelleStorage.addCell(new PdfPCell(new Phrase("Datenträger 1:",tableFontHead))).setBorderWidth(1);
|
||||
tabelleStorage.addCell(new PdfPCell(new Phrase(Datenblatt.storage.getProperty("drive1Capacity")+" GB "+Datenblatt.storage.getProperty("drive1Type"),tableFont))).setBorderWidth(1);
|
||||
|
||||
tabelleStorage.addCell(new PdfPCell(new Phrase("Datenträger 2:",tableFontHead))).setBorderWidth(1);
|
||||
tabelleStorage.addCell(new PdfPCell(new Phrase(Datenblatt.storage.getProperty("drive2Capacity")+" GB "+Datenblatt.storage.getProperty("drive2Type"),tableFont))).setBorderWidth(1);
|
||||
} else if (Datenblatt.storageAnzahl==3) {
|
||||
|
||||
tabelleStorage.setTotalWidth(tableWidth);
|
||||
tabelleStorage.setLockedWidth(true);
|
||||
tabelleStorage.addCell(new PdfPCell(new Phrase("Datenträger 1:",tableFontHead))).setBorderWidth(1);
|
||||
tabelleStorage.addCell(new PdfPCell(new Phrase(Datenblatt.storage.getProperty("drive1Capacity")+" GB "+Datenblatt.storage.getProperty("drive1Type"),tableFont))).setBorderWidth(1);
|
||||
|
||||
tabelleStorage.addCell(new PdfPCell(new Phrase("Datenträger 2:",tableFontHead))).setBorderWidth(1);
|
||||
tabelleStorage.addCell(new PdfPCell(new Phrase(Datenblatt.storage.getProperty("drive2Capacity")+" GB "+Datenblatt.storage.getProperty("drive2Type"),tableFont))).setBorderWidth(1);
|
||||
|
||||
tabelleStorage.addCell(new PdfPCell(new Phrase("Datenträger 3:",tableFontHead))).setBorderWidth(1);
|
||||
tabelleStorage.addCell(new PdfPCell(new Phrase(Datenblatt.storage.getProperty("drive3Capacity")+" GB "+Datenblatt.storage.getProperty("drive3Type"),tableFont))).setBorderWidth(1);
|
||||
} else if (Datenblatt.storageAnzahl==4) {
|
||||
|
||||
tabelleStorage.setTotalWidth(tableWidth);
|
||||
tabelleStorage.setLockedWidth(true);
|
||||
tabelleStorage.addCell(new PdfPCell(new Phrase("Datenträger 1:",tableFontHead))).setBorderWidth(1);
|
||||
tabelleStorage.addCell(new PdfPCell(new Phrase(Datenblatt.storage.getProperty("drive1Capacity")+" GB "+Datenblatt.storage.getProperty("drive1Type"),tableFont))).setBorderWidth(1);
|
||||
|
||||
tabelleStorage.addCell(new PdfPCell(new Phrase("Datenträger 2:",tableFontHead))).setBorderWidth(1);
|
||||
tabelleStorage.addCell(new PdfPCell(new Phrase(Datenblatt.storage.getProperty("drive2Capacity")+" GB "+Datenblatt.storage.getProperty("drive2Type"),tableFont))).setBorderWidth(1);
|
||||
|
||||
tabelleStorage.addCell(new PdfPCell(new Phrase("Datenträger 3:",tableFontHead))).setBorderWidth(1);
|
||||
tabelleStorage.addCell(new PdfPCell(new Phrase(Datenblatt.storage.getProperty("drive3Capacity")+" GB "+Datenblatt.storage.getProperty("drive3Type"),tableFont))).setBorderWidth(1);
|
||||
|
||||
tabelleStorage.addCell(new PdfPCell(new Phrase("Datenträger 4:",tableFontHead))).setBorderWidth(1);
|
||||
tabelleStorage.addCell(new PdfPCell(new Phrase(Datenblatt.storage.getProperty("drive4Capacity")+" GB "+Datenblatt.storage.getProperty("drive4Type"),tableFont))).setBorderWidth(1);
|
||||
}
|
||||
|
||||
PdfPTable alles=new PdfPTable(2);
|
||||
alles.setTotalWidth(200);
|
||||
alles.setLockedWidth(true);
|
||||
alles.addCell(new PdfPCell(tabelleCPU));
|
||||
alles.addCell(new PdfPCell(tabelleStorage));
|
||||
alles.addCell(new PdfPCell(tabelleGPU));
|
||||
alles.addCell(new PdfPCell(tabelleRAM));
|
||||
|
||||
doc.add(alles);
|
||||
|
||||
writer.close();
|
||||
doc.close();
|
||||
|
||||
} catch (Exception e) {
|
||||
System.out.println("Die Datei wird bereits verwendet!");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Der Großteil des Codes der folgenden Funktion ist von hier(https://www.java-forum.org/thema/drucken-einer-pdf-datei.176174/) kopiert.
|
||||
public static void toPrint(boolean direct, JFrame positionParent){
|
||||
if (!direct) {
|
||||
int n = JOptionPane.showConfirmDialog(positionParent, "<html><center>Soll das Datenblatt gedruckt werden?", "Drucken?", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
|
||||
if (n == JOptionPane.YES_OPTION) {
|
||||
System.out.println("Drucken...");
|
||||
File datei = new File(pdfPathName);
|
||||
if (datei.exists()) {
|
||||
try {
|
||||
PDDocument doc = PDDocument.load(datei);
|
||||
|
||||
PrintService myPrintService = findPrintService(RWConfigFile.getPrinterName());
|
||||
|
||||
PrinterJob job = PrinterJob.getPrinterJob();
|
||||
job.setPageable(new PDFPageable(doc));
|
||||
job.setPrintService(myPrintService);
|
||||
job.print();
|
||||
doc.close();
|
||||
} catch (IOException | PrinterException e) {
|
||||
System.out.println("Datei- oder Druckerfehler!");
|
||||
JOptionPane.showConfirmDialog(positionParent, "<html><center>Bitte wählen Sie in den Programmeinstellungen([STRG]+[KOMMA]) einen Drucker aus!", "Drucken?", JOptionPane.DEFAULT_OPTION, JOptionPane.ERROR_MESSAGE);
|
||||
}
|
||||
}
|
||||
}
|
||||
}else{
|
||||
System.out.println("Drucken...");
|
||||
File datei = new File(pdfPathName);
|
||||
if (datei.exists()) {
|
||||
try {
|
||||
PDDocument doc = PDDocument.load(datei);
|
||||
|
||||
System.out.print("Druckername: ");
|
||||
String printer=Kbd.readString();
|
||||
PrintService myPrintService = findPrintService(printer);
|
||||
|
||||
while (true){
|
||||
System.out.println("Soll immer dieser Drucker verwendet werden?(y/n)");
|
||||
if (Kbd.readString().equals("y")||Kbd.readString().equals("Y")){
|
||||
RWConfigFile.setPrinter(printer);
|
||||
break;
|
||||
} else if (Kbd.readString().equals("n")||Kbd.readString().equals("N")) {
|
||||
}else System.out.println("Bitte 'y'/'Y' für \"Ja\" oder 'n'/'N' für \"Nein\" eingeben!");
|
||||
}
|
||||
|
||||
|
||||
PrinterJob job = PrinterJob.getPrinterJob();
|
||||
job.setPageable(new PDFPageable(doc));
|
||||
job.setPrintService(myPrintService);
|
||||
job.print();
|
||||
doc.close();
|
||||
} catch (IOException | PrinterException e) {
|
||||
System.out.println("Datei- oder Druckerfehler!");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// https://stackoverflow.com/questions/18636622/pdfbox-how-to-print-pdf-with-specified-printer
|
||||
public static PrintService findPrintService(String printerName){
|
||||
PrintService[] printServices = PrintServiceLookup.lookupPrintServices(null, null);
|
||||
for (PrintService printService : printServices) {
|
||||
if (printService.getName().trim().equals(printerName)) {
|
||||
return printService;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static String[] printerList(){
|
||||
PrintService[] printServices = PrintServiceLookup.lookupPrintServices(null, null);
|
||||
System.out.println("Number of print services: " + printServices.length);
|
||||
String[] printerList=new String[printServices.length];
|
||||
|
||||
for (int i=0;i<printServices.length;i++){
|
||||
printerList[i]=printServices[i].getName();
|
||||
}
|
||||
return printerList;
|
||||
}
|
||||
|
||||
}
|
||||
66
Datenblatt/src/main/java/de/dejan_hopp/io/RWConfigFile.java
Normal file
66
Datenblatt/src/main/java/de/dejan_hopp/io/RWConfigFile.java
Normal file
@@ -0,0 +1,66 @@
|
||||
package de.dejan_hopp.io;
|
||||
|
||||
import java.io.*;
|
||||
import java.util.Properties;
|
||||
|
||||
public class RWConfigFile {
|
||||
|
||||
public static String getPrinterName(){
|
||||
Properties settings=new Properties();
|
||||
String printerName="Kein Drucker Ausgewählt";
|
||||
|
||||
try {
|
||||
FileInputStream in=new FileInputStream("settings.conf");
|
||||
settings.load(in);
|
||||
printerName=settings.getProperty("printerName");
|
||||
} catch (IOException e) {
|
||||
//throw new RuntimeException(e);
|
||||
File config=new File("settings.conf");
|
||||
|
||||
if (!config.exists()){
|
||||
try{
|
||||
boolean created=config.createNewFile();
|
||||
if (created){
|
||||
getPrinterName();
|
||||
} else {
|
||||
new File("settings.conf");
|
||||
getPrinterName();
|
||||
}
|
||||
} catch (IOException ex) {
|
||||
throw new RuntimeException(ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
return printerName;
|
||||
}
|
||||
|
||||
public static void setPrinter(String printerName){
|
||||
Properties settings=new Properties();
|
||||
|
||||
try {
|
||||
FileOutputStream out=new FileOutputStream("settings.conf");
|
||||
settings.setProperty("printerName",printerName);
|
||||
settings.store(out,null);
|
||||
|
||||
} catch (FileNotFoundException e) {
|
||||
File config=new File("settings.conf");
|
||||
|
||||
if (!config.exists()){
|
||||
try {
|
||||
boolean created=config.createNewFile();
|
||||
if (created){
|
||||
setPrinter(printerName);
|
||||
} else {
|
||||
new File("settings.conf");
|
||||
setPrinter(printerName);
|
||||
}
|
||||
} catch (IOException ex) {
|
||||
throw new RuntimeException(ex);
|
||||
}
|
||||
}
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
57
Datenblatt/src/main/java/de/dejan_hopp/io/pdf2PNG.java
Normal file
57
Datenblatt/src/main/java/de/dejan_hopp/io/pdf2PNG.java
Normal file
@@ -0,0 +1,57 @@
|
||||
package de.dejan_hopp.io;
|
||||
|
||||
import com.sun.pdfview.PDFFile;
|
||||
import com.sun.pdfview.PDFPage;
|
||||
|
||||
import javax.imageio.ImageIO;
|
||||
import java.awt.*;
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.io.File;
|
||||
import java.io.RandomAccessFile;
|
||||
import java.nio.ByteBuffer;
|
||||
import java.nio.channels.FileChannel;
|
||||
|
||||
public class pdf2PNG {
|
||||
public static void convert(){
|
||||
|
||||
try {
|
||||
File sourceFile = new File("Datenblatt.pdf");
|
||||
|
||||
if (sourceFile.exists()) {
|
||||
|
||||
RandomAccessFile raf = new RandomAccessFile(sourceFile, "r");
|
||||
FileChannel channel = raf.getChannel();
|
||||
ByteBuffer buf = channel.map(FileChannel.MapMode.READ_ONLY, 0, channel.size());
|
||||
PDFFile pdf = new PDFFile(buf);
|
||||
|
||||
int pageNumber = 1;// which PDF page to be converted
|
||||
PDFPage page = pdf.getPage(pageNumber);
|
||||
|
||||
// image dimensions
|
||||
int width = 800;
|
||||
int height = 800;
|
||||
|
||||
// create the image
|
||||
Rectangle rect = new Rectangle(0, 0, (int) page.getBBox().getWidth(), (int) page.getBBox().getHeight());
|
||||
BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
|
||||
|
||||
// width & height, // clip rect, // null for the ImageObserver, // fill background with white, // block until drawing is done
|
||||
Image image = page.getImage(width, height, rect, null, true, true );
|
||||
Graphics2D bufImageGraphics = bufferedImage.createGraphics();
|
||||
bufImageGraphics.drawImage(image, 0, 0, null);
|
||||
|
||||
File imageFile = new File("Datenblatt.png" );// change file format here. Ex: .png, .jpg, .jpeg, .gif, .bmp
|
||||
|
||||
ImageIO.write(bufferedImage, "png", imageFile);
|
||||
} else {
|
||||
System.err.println(sourceFile.getName() +" File not exists");
|
||||
}
|
||||
if(sourceFile.delete()){System.out.println("PDF gelöscht!");}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
//JOptionPane.showMessageDialog(null, "Es kann nicht gedruckt werden. Ein anderer Prozess verwendet die Datei!","Fehler!",JOptionPane.INFORMATION_MESSAGE);
|
||||
|
||||
}
|
||||
}
|
||||
3
Datenblatt/src/main/resources/META-INF/MANIFEST.MF
Normal file
3
Datenblatt/src/main/resources/META-INF/MANIFEST.MF
Normal file
@@ -0,0 +1,3 @@
|
||||
Manifest-Version: 1.0
|
||||
Main-Class: de.dejan_hopp.Main
|
||||
|
||||
3
Datenblatt/target/classes/META-INF/MANIFEST.MF
Normal file
3
Datenblatt/target/classes/META-INF/MANIFEST.MF
Normal file
@@ -0,0 +1,3 @@
|
||||
Manifest-Version: 1.0
|
||||
Main-Class: de.dejan_hopp.Main
|
||||
|
||||
BIN
Datenblatt/target/classes/de/dejan_hopp/Datenblatt.class
Normal file
BIN
Datenblatt/target/classes/de/dejan_hopp/Datenblatt.class
Normal file
Binary file not shown.
BIN
Datenblatt/target/classes/de/dejan_hopp/Features.class
Normal file
BIN
Datenblatt/target/classes/de/dejan_hopp/Features.class
Normal file
Binary file not shown.
BIN
Datenblatt/target/classes/de/dejan_hopp/GUI.class
Normal file
BIN
Datenblatt/target/classes/de/dejan_hopp/GUI.class
Normal file
Binary file not shown.
BIN
Datenblatt/target/classes/de/dejan_hopp/Main.class
Normal file
BIN
Datenblatt/target/classes/de/dejan_hopp/Main.class
Normal file
Binary file not shown.
BIN
Datenblatt/target/classes/de/dejan_hopp/SettingsWindow.class
Normal file
BIN
Datenblatt/target/classes/de/dejan_hopp/SettingsWindow.class
Normal file
Binary file not shown.
BIN
Datenblatt/target/classes/de/dejan_hopp/io/Delay.class
Normal file
BIN
Datenblatt/target/classes/de/dejan_hopp/io/Delay.class
Normal file
Binary file not shown.
BIN
Datenblatt/target/classes/de/dejan_hopp/io/DisplayConsole.class
Normal file
BIN
Datenblatt/target/classes/de/dejan_hopp/io/DisplayConsole.class
Normal file
Binary file not shown.
BIN
Datenblatt/target/classes/de/dejan_hopp/io/Kbd.class
Normal file
BIN
Datenblatt/target/classes/de/dejan_hopp/io/Kbd.class
Normal file
Binary file not shown.
BIN
Datenblatt/target/classes/de/dejan_hopp/io/Print.class
Normal file
BIN
Datenblatt/target/classes/de/dejan_hopp/io/Print.class
Normal file
Binary file not shown.
BIN
Datenblatt/target/classes/de/dejan_hopp/io/RWConfigFile.class
Normal file
BIN
Datenblatt/target/classes/de/dejan_hopp/io/RWConfigFile.class
Normal file
Binary file not shown.
BIN
Datenblatt/target/classes/de/dejan_hopp/io/pdf2PNG.class
Normal file
BIN
Datenblatt/target/classes/de/dejan_hopp/io/pdf2PNG.class
Normal file
Binary file not shown.
Reference in New Issue
Block a user