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

Napisanie aplikacji Java

–1 głos
286 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,470 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,850 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 319 wizyt
pytanie zadane 14 sierpnia 2018 w Ogłoszenia, zlecenia przez CenterPL Pasjonat (19,070 p.)
–1 głos
0 odpowiedzi 329 wizyt
–2 głosów
0 odpowiedzi 464 wizyt
pytanie zadane 20 czerwca 2017 w Ogłoszenia, zlecenia przez altimisolutions Nowicjusz (160 p.)

93,772 zapytań

142,730 odpowiedzi

323,382 komentarzy

63,369 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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...