• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Napisanie aplikacji Java

Object Storage Arubacloud
–1 głos
128 wizyt
pytanie zadane 3 lutego 2017 w Ogłoszenia, zlecenia przez Patryk Robert Szczep Nowicjusz (120 p.)
Witam,

Czy ktoś byłby w stanie napisać mi taką aplikację w java ?

Aplikacja okienkowa, z której wczytujemy plik z dysku i liczy nam liczbę znaków i cyfr oraz liczbę spacji i enter-ów.

Proszę bardzo o pomoc.

Oferty proszę pisać w komentarzu lub na priv.

Z góry dziękuję.

1 odpowiedź

0 głosów
odpowiedź 3 lutego 2017 przez Damian11131 Stary wyjadacz (13,490 p.)
To jest bardzo proste, napisz sobie sam taki program korzystając z dokumentacji/tutoriali...
komentarz 3 lutego 2017 przez Patryk Robert Szczep Nowicjusz (120 p.)
Niestety, muszę taki program napisać na jutro, a już probowałem cos takiego robic.

Wyszło mi cos takiego ;/

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.Date;

public class Okno extends JFrame implements ActionListener
{
    JButton bWczytaj;
    JLabel lWyświetl;
    public Okno()
    {
        setSize(400,300);
        setTitle("Aplikacja na 3");
        setLayout(null);
        
        bWczytaj = new JButton("Wczytaj");
        bWczytaj.setBounds(150, 100, 100, 50);
        add(bWczytaj);
        bWczytaj.addActionListener(this);
        
        lWyświetl = new JLabel("Tekst:");
        lWyświetl.setBounds(50, 150, 250, 50);
        add(lWyświetl);
        
    }

    public static void main(String[] args)
    {
        Okno okienko = new Okno();
        okienko.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        okienko.setVisible(true);
        
             }

    public void actionPerformed(ActionEvent args)
    {
         try {
               // Uworzenie obiektu FileReader
               FileReader fileReader = new FileReader("test.txt");
               
               // Utworzenie obiektu bufferReader
               BufferedReader bufferReader = new BufferedReader(fileReader);
               
               String linia;
               
               while((linia = bufferReader.readLine()) != null) {
                System.out.println(linia);
                
               }
               fileReader.close();
              }
              catch (FileNotFoundException e) {
               e.printStackTrace();
              }
              catch (IOException e) {
               e.printStackTrace();
              }
         lWyświetl.setText(new linia());
    }

    
}
komentarz 3 lutego 2017 przez miro Pasjonat (23,870 p.)

Tutaj masz przykład napisany w JaviaFX:


public class MainViewController {

    @FXML
    private Button btnOpenFile;
    @FXML
    private Button btnAcceptFile;
    @FXML
    private Label lblLine;
    @FXML
    private Label lblSign;
    @FXML
    private Label lblDigit;
    @FXML
    private Label lblCharacter;
    @FXML
    private Label lblSpace;
    @FXML
    private Label lblMsg;
    File file;

    @FXML
    void openFile(ActionEvent event) {
        FileChooser fileChooser = new FileChooser();
        fileChooser.setTitle("Wybierz plik");
        fileChooser.setInitialDirectory(new File(System.getProperty("user.home")));
        fileChooser.getExtensionFilters().addAll(new FileChooser.ExtensionFilter("TXT", "*.txt"),
                new FileChooser.ExtensionFilter("ALL", "*.*"));
        file = fileChooser.showOpenDialog(new Stage());
        if (file != null) {
            lblMsg.setText(file.getAbsolutePath());
        } else {
            lblMsg.setText("Niepoprawny plik");
        }
    }

    @FXML
    void acceptFile(ActionEvent event) {
        final String filePath = file.getAbsolutePath();
        long nrLine = -1;
        int nrSign, nrDigit, nrChar, nrSpace;
        String content = null;

        try {
            content = new String(Files.readAllBytes(Paths.get(filePath)));
            nrLine = Files.lines(Paths.get(filePath)).count();
        } catch (IOException e) {
            lblMsg.setText("Niepoprawny plik");
            e.printStackTrace();
        }

        // System.out.println(checkPattern(content, "\\n"));
        lblLine.setText(Long.toString(nrLine));

        nrSpace = checkPattern(content, " ");
        lblSpace.setText(Integer.toString(nrSpace));

        nrDigit = checkPattern(content, "\\d");
        lblDigit.setText(Integer.toString(nrDigit));

        nrChar = checkPattern(content, "[a-zA-Z]");
        lblCharacter.setText(Integer.toString(nrChar));

        nrSign = checkPattern(content, "\\w");
        lblSign.setText(Integer.toString(nrSign));

    }

    private int checkPattern(String content, String pattern) {
        Pattern p = Pattern.compile(pattern);
        Matcher m = p.matcher(content);
        int iterator = 0;
        while (m.find()) {
            iterator++;
        }
        return iterator;
    }
}

Oraz zawartość pliku fxml:

<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.geometry.*?>
<?import javafx.scene.text.*?>
<?import javafx.scene.control.*?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.layout.AnchorPane?>

<AnchorPane xmlns="http://javafx.com/javafx/8.0.40" xmlns:fx="http://javafx.com/fxml/1" fx:controller="application.MainViewController">
   <children>
      <GridPane>
        <columnConstraints>
          <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
          <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
        </columnConstraints>
        <rowConstraints>
          <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
            <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
          <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
            <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
            <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
          <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
            <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
            <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
            <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
        </rowConstraints>
         <children>
            <Label alignment="CENTER" contentDisplay="CENTER" text="Simple Counter" GridPane.columnSpan="2" GridPane.halignment="CENTER">
               <font>
                  <Font size="21.0" />
               </font>
            </Label>
            <Label text="znaki: " GridPane.halignment="RIGHT" GridPane.rowIndex="4" />
            <Label text="cyfry: " GridPane.halignment="RIGHT" GridPane.rowIndex="5" />
            <Label text="linie: " GridPane.halignment="RIGHT" GridPane.rowIndex="3" />
            <Label text="litery: " GridPane.halignment="RIGHT" GridPane.rowIndex="6" />
            <Label text="spacje: " GridPane.halignment="RIGHT" GridPane.rowIndex="7" />
            <Button fx:id="btnOpenFile" mnemonicParsing="false" onAction="#openFile" text="Plik..." GridPane.halignment="CENTER" GridPane.rowIndex="2" />
            <Button fx:id="btnAcceptFile" mnemonicParsing="false" onAction="#acceptFile" style="-fx-background-color: #00aa00;" text="OK" GridPane.columnIndex="1" GridPane.halignment="CENTER" GridPane.rowIndex="2" />
            <Label fx:id="lblLine" GridPane.columnIndex="1" GridPane.rowIndex="3" />
            <Label fx:id="lblSign" GridPane.columnIndex="1" GridPane.rowIndex="4" />
            <Label fx:id="lblDigit" GridPane.columnIndex="1" GridPane.rowIndex="5" />
            <Label fx:id="lblCharacter" GridPane.columnIndex="1" GridPane.rowIndex="6" />
            <Label fx:id="lblSpace" GridPane.columnIndex="1" GridPane.rowIndex="7" />
            <Label fx:id="lblMsg" alignment="CENTER" contentDisplay="CENTER" text="Wybierz plik txt" GridPane.columnSpan="2" GridPane.halignment="CENTER" GridPane.rowIndex="1">
               <font>
                  <Font size="12.0" />
               </font>
            </Label>
         </children>
         <padding>
            <Insets bottom="20.0" left="20.0" right="20.0" top="20.0" />
         </padding>
      </GridPane>
   </children>
</AnchorPane>

 

Podobne pytania

+1 głos
0 odpowiedzi 216 wizyt
pytanie zadane 14 sierpnia 2018 w Ogłoszenia, zlecenia przez CenterPL Pasjonat (19,070 p.)
–1 głos
0 odpowiedzi 208 wizyt
–2 głosów
0 odpowiedzi 276 wizyt
pytanie zadane 20 czerwca 2017 w Ogłoszenia, zlecenia przez altimisolutions Nowicjusz (160 p.)

92,620 zapytań

141,474 odpowiedzi

319,815 komentarzy

62,004 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...